ããã¯ç§ã®ã€ã³ã¹ããŒã«ã®åé¡ã§ããïŒ ããã¯ç§ã®ãã¹ãŠã®ãã·ã³ã§èµ·ãããŸã...ãããã¹ããŒãã¢ããããããã«ç§/ç§ãã¡ã«ã§ããããšã¯ãããŸããïŒ
1ã€ã®ããã±ãŒãžãã€ã³ã¹ããŒã«ããŸããããããã¯ã«æ°åãããããã§ãã
Locking [packages] dependenciesâŠ
$ python -mpipenv.helpåºå
PipenvããŒãžã§ã³ïŒ '2018.05.18'
Pipenvã®å ŽæïŒ '/Users/colllin/miniconda3/lib/python3.6/site-packages/pipenv'
Pythonã®å ŽæïŒ '/Users/colllin/miniconda3/bin/python'
PATH
ä»ã®Pythonã€ã³ã¹ããŒã«ïŒ
2.7
ïŒ /usr/bin/python2.7
2.7
ïŒ /usr/bin/python2.7
3.6
ïŒ /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6m
3.6
ïŒ /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
3.6
ïŒ /Users/colllin/miniconda3/bin/python3.6
3.6
ïŒ /Users/colllin/.pyenv/shims/python3.6
3.6
ïŒ /usr/local/bin/python3.6
3.6.3
ïŒ /Users/colllin/miniconda3/bin/python
3.6.3
ïŒ /Users/colllin/.pyenv/shims/python
2.7.10
ïŒ /usr/bin/python
3.6.4
ïŒ /Library/Frameworks/Python.framework/Versions/3.6/bin/python3
3.6.3
ïŒ /Users/colllin/miniconda3/bin/python3
3.6.4
ïŒ /Users/colllin/.pyenv/shims/python3
3.6.4
ïŒ /usr/local/bin/python3
PEP 508æ å ±ïŒ
{'implementation_name': 'cpython',
'implementation_version': '3.6.3',
'os_name': 'posix',
'platform_machine': 'x86_64',
'platform_python_implementation': 'CPython',
'platform_release': '17.5.0',
'platform_system': 'Darwin',
'platform_version': 'Darwin Kernel Version 17.5.0: Mon Mar 5 22:24:32 PST '
'2018; root:xnu-4570.51.1~1/RELEASE_X86_64',
'python_full_version': '3.6.3',
'python_version': '3.6',
'sys_platform': 'darwin'}
ã·ã¹ãã ç°å¢å€æ°ïŒ
TERM_PROGRAM
NVM_CD_FLAGS
TERM
SHELL
TMPDIR
Apple_PubSub_Socket_Render
TERM_PROGRAM_VERSION
TERM_SESSION_ID
NVM_DIR
USER
SSH_AUTH_SOCK
PYENV_VIRTUALENV_INIT
PATH
PWD
LANG
XPC_FLAGS
PS1
XPC_SERVICE_NAME
PYENV_SHELL
HOME
SHLVL
DRAM_ROOT
LOGNAME
NVM_BIN
SECURITYSESSIONID
_
__CF_USER_TEXT_ENCODING
PYTHONDONTWRITEBYTECODE
PIP_PYTHON_PATH
Pipenvåºæã®ç°å¢å€æ°ïŒ
ãããã°åºæã®ç°å¢å€æ°ïŒ
PATH
ïŒ /Library/Frameworks/Python.framework/Versions/3.6/bin:/Users/colllin/miniconda3/bin:/Users/colllin/.pyenv/plugins/pyenv-virtualenv/shims:/Users/colllin/.pyenv/shims:/Users/colllin/.pyenv/bin:/Users/colllin/.nvm/versions/node/v8.1.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
SHELL
ïŒ /bin/bash
LANG
ïŒ en_US.UTF-8
PWD
ïŒ /Users/.../folder
Pipfile
ïŒ '/ Users /.../ Pipfile'ïŒã®å
容ïŒ
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
gym-retro = "*"
[dev-packages]
[requires]
python_version = "3.6"
@colllinãµãŒããŒã«æ¥ç¶ããpipã³ãã³ãïŒ pip search
ïŒç§ã¯æãïŒãªã©ïŒãé
ããã©ããã確èªããŸãããïŒ
åæ§ã®åäœãèŠãããŸãããããã¯æ¢ç¥ã®åé¡ã§ããããããã¯ãŒã¯ã«äŸåããŸãã äœããã®çç±ã§ãè·å Žã®ãããã¯ãŒã¯ããpypi.orgã«ã¢ã¯ã»ã¹ããã®ã¯éåžžã«é ãã§ãããéåžžãèªå® ã®ãããã¯ãŒã¯ããã¯é«éã§ãã ããã¯ã¯å éšã§å€ãã®pipãã©ã³ã¶ã¯ã·ã§ã³ãå®è¡ãããšæãã®ã§ããµãŒããŒãžã®ã¢ã¯ã»ã¹ãé ããšæäœãå€§å¹ ã«é ããªããŸãã
ç·šéïŒè§£æ±ºãã¹ããµãäŸåé¢ä¿ãããããããå¯èœæ§ããããŸã-äžåºŠäœæãããç°å¢ã®å€§ããïŒããšãã°ãpipfileå
ã®ãããã¬ãã«ããã±ãŒãžã®æ°ã pip list
ã«ãã£ãŠè¿ãããããã±ãŒãžã®æ°ãªã©ïŒç°å¢ãããŒãã¹ãã©ããããããïŒïŒ
æãããã®ãã察å¿ããããšãããããŸãã
pip search
ã¯ç§ã«ãšã£ãŠç¹ã«éããé
ãããããŸãã... ã1ç§ïŒ
ãã¡ã€ã³ç¥èãäžè¶³ããŠããããšããèš±ããã ãããæ¬åœã«æ€çŽ¢ããããããå¿ èŠããããŸããïŒ ãã¹ãŠãã€ã³ã¹ããŒã«ããã ãã§ã¯ãããŸãããïŒ ãã§ã«ã€ã³ã¹ããŒã«ãããŠãããã®ãæžãçããã ãã§ã¯ãããŸãããïŒ ãŸãã¯...ãšã«ããããã¯ãã¡ã€ã«ã®ååšãä¿èšŒããã®ã§ãããã±ãŒãžãã€ã³ã¹ããŒã«ãããšãããŸãã¯ãã以åã«ãã
ç§ã¯æšæž¬ããŠããŸã... pipenvã¯ãã³ãããã®äžã§pipã䜿çšããŠããŸããïŒ ãããã£ãŠãã€ã³ã¹ããŒã«ããã»ã¹ã¯ãã©ãã¯ããã¯ã¹ã§ããããpip searchãç¬èªã®pipã¯ãšãªãå®è¡ããã«ãäœãã€ã³ã¹ããŒã«ããããããŸãã¯ã€ã³ã¹ããŒã«ããããã«ã€ããŠã®äŸåé¢ä¿ã°ã©ããç¥ãããšã¯ã§ããŸãããïŒ
ç·šéïŒ1ã€ã®ãããã¬ãã«ããã±ãŒãžãããããã®ç¹å®ã®ãªããžããªã§ã¯pip list
ã«ãã£ãŠè¿ãããæ倧65ã®ããã±ãŒãžããããŸãã
ç§ã¯ãããžã§ã¯ãã®è²¢ç®è ã§ã¯ãªããçŸæç¹ã§ã¯ãã¹ãŠã®è©³çŽ°ãç¥ããŸããããããã¯ãã§ãŒãºã§ã¯ããã¹ãŠã®äŸåé¢ä¿ã解決ãããåºå®ããããšç解ããŠããŸãã ãããã£ãŠãäŸåé¢ä¿ãæ倧65ã®ãããã¬ãã«ããã±ãŒãžã1ã€ããå Žåããã®æåã®ããã±ãŒãžã®ãã¹ãŠã®äŸåé¢ä¿ãïŒååž°çã«ïŒæ€åºãããã®ã¯ããã¯ãã§ãŒãºã§ãããäŸåé¢ä¿ããªãŒã䜿çšããŠãã€ã³ã¹ããŒã«ããå¿ èŠã®ããããã±ãŒãžã解決ããŸãã ïŒããããïŒã©ã®ãããªå€§ãŸããªé åºã§ã€ã³ã¹ããŒã«ããå¿ èŠããããŸããæåŸã®éšåã«ã€ããŠã¯ããããããŸããã
ããã¯ãã¡ã€ã«ãååšããªãç¶æ
ã§Pipfileããpipinstallãå®è¡ãããšãããã±ãŒãžãvenvã«ã€ã³ã¹ããŒã«ãã--deploy
å Žåãšåæ§ã«ãããé«éã«ãªããªãã·ã§ã³ã--no-lock
ãªãã·ã§ã³ã åè
ã®å Žåãããã¯ãã¡ã€ã«ãå€ããªã£ãŠãããšãšã©ãŒãçºçããŸããåŸè
ã®å Žåãæäžäœããã±ãŒãžïŒå®£èšãããç°å¢ïŒãšãã¹ãŠã®ããã±ãŒãžã®å®éã«ã€ã³ã¹ããŒã«ãããïŒããã¯ãããïŒç°å¢ã®è«çåå²ã倱ãããŸãã å°ãªããšãããã¯ç§ããããç解ããæ¹æ³ã§ãã
pipenvãå éšã§pipã䜿çšãããã©ããïŒäœ¿çšãããã©ããã¯ããããŸãïŒã§ããããã±ãŒãžã®äŸåé¢ä¿ãªã©ã«é¢ããæ å ±ãpypiãµãŒããŒããååŸããå¿ èŠããããããpipæ€çŽ¢ã«é¢ããç§ã®è³ªåã¯ããé«éãŸãã¯pypiãµãŒããŒãžã®ãã¹ãé ãããããšã¯ãpipenvããã®åŠçãå®è¡ããã¡ã«ããºã ã«ã€ããŠã®çŽæ¥çãªæå³ãããéèŠã§ãã
èå³æ·±ãå®éšã¯ãpipenvã§äŸåé¢ä¿ããªãŒãããã¯ãã pip install -r requirements.txt
ã䜿çšããŠæ°ããvenvã«èŠä»¶ãã€ã³ã¹ããŒã«ããããã«å¿
èŠãªæéãæ¯èŒããããšãããããŸããã äŸåé¢ä¿ã®è§£æ±ºãã§ãŒãºã§ã¯ãããªã䌌ããããªããšãããå¿
èŠããããšæããŸãã
åé·ãªããŠã³ããŒããçºçããŠããããšãã©ããã§ç¢ºèªããŸãããïŒ ããã ãšæããŸãããããã蚌æããããšã¯æ¬åœã«åœ¹ã«ç«ã¡ãŸã
åèãŸã§ã«ã pip install -r requirements.txt
ãäŸåé¢ä¿ã°ã©ãã®ããã¯ã«ãããæéãšæ¯èŒããŠããæ¯èŒã®ãã€ã³ããšããŠã¯æçã§ã¯ãããŸããã Pipã¯å®éã«ã¯ãªãŸã«ããŒã_æã£ãŠããŸãã_ãæ¬åœã®æå³ã§ã¯ãããŸããã éãã説æã§ãããšæããŸãã pipãrequirements.txt
ã€ã³ã¹ããŒã«ãããšã次ã®åºæ¬çãªããã»ã¹ã«åŸããŸãã
_package1_ã®äŸåé¢ä¿ã_package3_ã®äŸåé¢ä¿ãšç«¶åãããã©ããã¯ãpipãå®éã«ã¯æ°ã«ããªããããããã¯éåžžã«é«éã§ããããšãããããŸããæåŸã«_package 3_ã«ã€ã³ã¹ããŒã«ããã ããªã®ã§ããããåŸãããŸãã
Pipenvã¯å¥ã®ããã»ã¹ã«åŸããŸããç°å¢ãæ§ç¯ããåã«ãæå®ããäŸåé¢ä¿ã®_ãã¹ãŠ_ãæºããããšãè©Šã¿ã解å床ã°ã©ããèšç®ããŸãã ã€ãŸããå®éã®ã€ã³ã¹ããŒã«ããã»ã¹ãéå§ããåã«ãããã±ãŒãžã®ããŠã³ããŒããæ¯èŒãå Žåã«ãã£ãŠã¯_building_ããã±ãŒãžãéå§ããŠãæçµçã«ç°å¢ãã©ã®ããã«ãªãããå€æããå¿ èŠããããŸãïŒããã«ã€ããŠã¯ãå€ãã®ããã°æçš¿ããããŸãïŒã Pythonã®å Žåãªã®ã§ãããã§ã¯è©³ãã説æããŸããïŒã
ãã®è§£æ±ºããã»ã¹ã®åã¹ãããã¯ãããã·ã¥ãå¿ èŠãšããããšã«ãããèšç®ã³ã¹ããé«ããªããŸããããã¯ãã¹ããã©ã¯ãã£ã¹ã§ãã åãåã£ãããã±ãŒãžãåãåã£ãåŸã«ããã·ã¥ããPyPIãæåŸ ãã¹ããšèšã£ãããã·ã¥ãšæ¯èŒããå°æ¥ãåãç°å¢ãæ§ç¯ããã人ãããã§ããããã«ããããã®ããã·ã¥ãããã¯ãã¡ã€ã«ã«ä¿åããŸããããããæ§ç¯ããããã±ãŒãžãæåã«äœ¿çšãããã®ãšåãã§ããããšã®å¥çŽäžã®ä¿èšŒã
Pipæ€çŽ¢ã¯ããããã®ãããã«å¯ŸããŠãäžååãªãã³ãããŒã¯ã§ããå®éãpipã®ããŒã«ã¯ããããããã®äœæ¥ãè¡ãããã®äžååãªãã³ãããŒã¯ã§ããåéšåã«pipã䜿çšããŸãããå調ããŠãå€ãã®äŸåé¢ä¿ã«ããã£ãŠãŸãšããŠã圢æããã³ç®¡çããŸããç°å¢ãšã°ã©ãã¯ãpipenvã®å€ãè¿œå ãããå Žæã§ãã
æ確åã®1ã€ã®ãã€ã³ã-å®å
šãªäŸåé¢ä¿ã°ã©ãã解決ãããšãã€ã³ã¹ããŒã«ã®é åºã¯éèŠã§ã¯ãªããªããŸãã å
éšçã«ã¯ããšã«ãããã¹ãŠã®ã€ã³ã¹ããŒã«ã«å®éã«--no-deps
ãæž¡ããŸãã
ã¡ãã£ãšããè£è¶³ãšããŠãpipæ€çŽ¢ã¯çŸåšéæšå¥šã®XMLRPCã€ã³ã¿ãŒãã§ãŒã¹ã«äŸåããå¯äžã®pipã®ããŒã«ã§ããããã£ãã·ã¥ã§ãããéåžžã«äœéã§ãã ä»ã®ã©ã®æäœãããåžžã«é ããªããŸãã
numpyãããã¯ããïŒãããŠä»ã«ã¯äœãããªãïŒã®ã¯ç§ã®ãã·ã³ã§ã¯220ç§ããããŸãïŒä»¥äžãåç §ïŒã ã»ãšãã©ã®æéã¯200MBãè¶ ããããŒã¿ã®ããŠã³ããŒãã«è²»ããããŠããããã§ãããnumpyãœãŒã¹å šäœã4 MBã§ããããšãèãããšãããã¯éåžžã«äžå¯è§£ã§ãã æããã«ãããç¬æã§ãã£ããšããŠããå®éã®åŠçã¯ãŸã 25ç§ãããããã§ãããã€ãã®ããã·ã¥ãèšç®ããã«ã¯éå°ã«æããŸãã Pipenv.lockãåé€ããåŸã§ãããã®åŸã®ããã¯ã«ã¯5ç§ããããŸãã
11:46 ~/Co/Ce/torchdft time pipenv install
Creating a virtualenv for this projectâŠ
Using /usr/local/Cellar/pipenv/2018.5.18/libexec/bin/python3.6 (3.6.5) to create virtualenvâŠ
â Already using interpreter /usr/local/Cellar/pipenv/2018.5.18/libexec/bin/python3.6
Using real prefix '/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6'
New python executable in /Users/hermann/.local/share/virtualenvs/torchdft-mABBUp_t/bin/python3.6
Also creating executable in /Users/hermann/.local/share/virtualenvs/torchdft-mABBUp_t/bin/python
Installing setuptools, pip, wheel...done.
Virtualenv location: /Users/hermann/.local/share/virtualenvs/torchdft-mABBUp_t
Creating a Pipfile for this projectâŠ
Pipfile.lock not found, creatingâŠ
Locking [dev-packages] dependenciesâŠ
Locking [packages] dependenciesâŠ
Updated Pipfile.lock (ca72e7)!
Installing dependencies from Pipfile.lock (ca72e7)âŠ
ð ââââââââââââââââââââââââââââââââ 0/0 â 00:00:00
To activate this project's virtualenv, run the following:
$ pipenv shell
7.81 real 6.39 user 1.64 sys
11:46 ~/Co/Ce/torchdft time pipenv install numpy --skip-lock
Installing numpyâŠ
Collecting numpy
Using cached https://files.pythonhosted.org/packages/f6/cd/b2c50b5190b66c711c23ef23c41d450297eb5a54d2033f8dcb3b8b13ac85/numpy-1.14.5-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Installing collected packages: numpy
Successfully installed numpy-1.14.5
Adding numpy to Pipfile's [packages]âŠ
4.97 real 2.88 user 1.81 sys
11:46 ~/Co/Ce/torchdft time pipenv lock --verbose
Locking [dev-packages] dependenciesâŠ
Using pip: -i https://pypi.org/simple
ROUND 1
Current constraints:
Finding the best candidates:
Finding secondary dependencies:
------------------------------------------------------------
Result of round 1: stable, done
Locking [packages] dependenciesâŠ
Using pip: -i https://pypi.org/simple
ROUND 1
Current constraints:
numpy
Finding the best candidates:
found candidate numpy==1.14.5 (constraint was <any>)
Finding secondary dependencies:
numpy==1.14.5 not in cache, need to check index
numpy==1.14.5 requires -
------------------------------------------------------------
Result of round 1: stable, done
Updated Pipfile.lock (4fccdf)!
219.24 real 25.14 user 5.77 sys
Numpyã¯ä»ã§ã¯ããªãéããªã£ãŠããã¯ãã§ãïŒå®éãç§ã¯ããªãã®äŸããã¹ãã±ãŒã¹ãšããŠäœ¿çšããŠããŸãïŒïŒã æè¿ã®ãã¹ãã®æç¹ã§ãVMã®ã³ãŒã«ããã£ãã·ã¥ã§çŽ30ç§ã§ãã¹ããå®è¡ããŸããã
ææ°ãªãªãŒã¹ã§ã®æ¹åç¹ã確èªã§ããŸããïŒ
ç§ã«ãšã£ãŠãå€§å¹ ã«æ¹åãããŸããã ç§ã¯ä»ãéåžžã«é«éãªæ¥ç¶ã䜿çšããŠããŠã14ç§ãšããäœãã§ããããããŠã³ããŒãã30 MB / sã§è¡ãããã®ã¯ãã®ãšãã§ããã numpyã®ãœãŒã¹ã³ãŒãã®åäžã®ã³ããŒä»¥å€ã«äœãããŠã³ããŒããããŠããŸããïŒ
åé·ãã€ãŒã«ãããŠã³ããŒãããŠãããšæããŸãïŒããããŸããïŒã ç§ãã¡ã¯ãã§ã«ç¶æ³ãè©äŸ¡ããŠããŸãã
feã®å€æŽãã¢ã³ã€ã³ã¹ããŒã«ããŠãPipfile.lockãå€§å¹ ã«å€æŽããŸããããå¥ã®ãã·ã³ã«ãããã€ãããšããªãŒãºããŸãã ããã«å¯Ÿããç¹å®ã®ä¿®æ£ã¯ãããŸããïŒ
ããã¯ãã¡ã€ã«ãæåã§ç·šéããããšã¯ãå§ãããŸããã ããå€ãã®æ å ±ããªããã°ãå©ããããšã¯äžå¯èœã§ãã å¥å·ãéããŠãã ããã
pipenvããã¯ã®ããã©ãŒãã³ã¹ããã³ãããŒã¯ããå Žåã¯ãäŸåé¢ä¿ã«pytmxãè¿œå ããŠã¿ãŠãã ãã...
pipenvããã¯ã¯ä»¥åã¯1æé以äžããããŸãããïŒã€ã³ã¿ãŒãããã¯ããªãé
ãã§ãïŒãpytmxãåé€ããåŸãçŽ5åã«ãªããã€ãã«pipenvããã䜿ãããããªããŸããã
pytmxã¯å€§ããªã¢ããªã·ãã¯ã©ã€ãã©ãªã§ãããopengl / pygameããã®ä»ã®é¢é£ãããã®ã«äŸåããŠããããã倧ããªããã±ãŒãžã§ããããšã¯ç¥ã£ãŠããŸãããããã±ãŒãžãããã倧ãããŠããpipenvããã¯ã«1æéãããããšã¯ãããŸããã
ç§ã«ãšã£ãŠã¯1æéãããããŸãã
$ cat Pipfile
[packages]
pytmx = "*"
$ time pipenv lock --clear
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Updated Pipfile.lock (eb50ab)!
real 0m2.827s
user 0m2.287s
sys 0m0.390s
ãŸããPyTMXã¯PyPIã§20kbæªæºã§ãããäŸåé¢ä¿ã¯6ã€ïŒéåžžã«å°ããïŒã«1ã€ãããªãããããããã¯ãŒã¯ã¯åé¡ã«ãªããŸããã ããªãã®ç°å¢ã§äœãä»ã®ããšãèµ·ãã£ãŠããå¯èœæ§ããããŸãã
確ãã«ãpygameãªã©ã«æ瀺çã«äŸåããŠããªããšæã£ãŠãããããå°ããã®ã§ããªããããªã«æéãããã£ãã®ãããããŸããïŒ
ç§ã¯ããå€ãã®æ
å ±ãèŠã€ããããšããŸãããç§ã¯ãããã®CPUãšSSDãæã£ãŠããã®ã§ãåé¡ã¯ãŸã ç§ãã¡ã®é
ãã€ã³ã¿ãŒãããã«é¢é£ããŠãããšæããŸã
@techalchemyãã¡ã€ã«ãæåã§ç·šéããŸããã§ããã pipenv uninstall package_name
ã䜿çšããŠå€ãã®äŸåé¢ä¿ãã¢ã³ã€ã³ã¹ããŒã«ãããã®åŸãµãŒããŒã§å®è¡ããŸããã ããã¯éåžžã«é·ãéããã¯ç¶æ
ã«ãšã©ãŸããŸããã
ç§ã¯æéã®äžã§ã©ã³ãã ãªã·ã§ããã§ãã®è°è«ã«ãšãã«ã®ãŒãè²»ããããšã«ã¯èå³ããããŸããã åçŸå¯èœãªãã¹ãã±ãŒã¹ãæäŸããŠãã ããã
ãããåçŸå¯èœãªãã¹ãã±ãŒã¹ã§ããããšãé¡ã£ãŠããŸã
https://github.com/Mathspy/tic-tac-toe-NN/tree/ab6731d216c66f5e09a4dabbe383df6dc745ba18
ããããšããŠããŸãpipenv install
ãã®ããã¯ã¬ã¹ãªããžããªã§ã¯ããããŸã§ã«700MB以äžãããŠã³ããŒãããŠè¡šç€ºãããŠããŸãLocking [packages] dependencies...
å°ããããããŠãä¿®æ£ããããŸã§--skip-lock
åå®è¡ããŸã
lock
ã¯éåžžã«é
ãã files.pythonhosted.org
ãã倧éã®ããŒã¿ãããŠã³ããŒãããããšã«æ°ä»ããŸããã scipy
flask
ãªã©ã«äŸåããå°ããªãããžã§ã¯ãã§ã¯800MB以äžã§ãã
ããã§ã files.pythonhosted.org
ã«å¯ŸããŠè¡ããããªã¯ãšã¹ããã¹ãããã£ã³ã°ãããšãããpipãŸãã¯pipenvãå®å
šã«äžèŠãªããŠã³ããŒããå®è¡ããŠããããã lock
ãéåžžã«é
ããªã£ãŠããããšãããããŸããã
ããšãã°ãåãããŒãžã§ã³ã®numpy
ãå®å
šã«æ°åããŠã³ããŒããããŠããŸããã ãããŠãç§ã¯Macã䜿çšããŠããŸããããWindows / Linuxçšã®ãã€ãŒã«ãããŠã³ããŒãããŸããã
ç§ã®ã»ããã¢ããïŒ
$ pipenv --version
pipenv, version 2018.05.18
$ pip -V
pip 18.0 from /usr/local/lib/python2.7/site-packages/pip (python 2.7)
ããã§ã®ãããã°ã«åœ¹ç«ã€è¿œå ã®Pipfileã¯ãããŸããïŒ
ãããã@AlJohri ãå®è¡äžã®ããã»ã¹/ããã¯/ ioã«é¢ããæ å ±ã圹ç«ã¡ãŸã
ãã§ã«çŽ5åéããã§ç«ã¡åŸçããŠããŸãã æåã¯ãããã¯ããçš®ã®pipã€ã³ã¹ããŒã«ã®åé¡ã§ããå¯èœæ§ããããšèããHomebrewãä»ããŠãã¹ãŠãæ°ããåã€ã³ã¹ããŒã«ããŸããããããã§ãåãåé¡ã§ãã ãªãäœãã¢ã€ãã¢ã¯ãããŸããïŒ
çŽ6ã7ååŸã«ããããçµäºããŸããã PythonãšPipenvã¯ããªãæ°ããã®ã§ããããã°ã«å¿ èŠãªãã¡ã€ã«ãèŠã€ããå Žæã«ã€ããŠå°ãå©ããŠããã ããã°å¹žãã§ãã :)
ããã¯ãæ°ããPythonã©ã€ãã©ãªãã€ã³ã¹ããŒã«ããããæ¢åã®Pythonã©ã€ãã©ãªãã¢ããã°ã¬ãŒããããããã®ãæããšããç¹ã§ããªãæªãã§ãã
ã¯ãªãšã€ã¿ãŒããã®è¬æŒãèŠãŠã pipenv
ã䜿ãããšã«ããŸããã ããããããã¯é
ãããŸãã
æŽå¯ã«æºã¡ããã£ãŒãããã¯ãããããšãã
@techalchemyäœãå©ããŠããããä¿®æ£ããããã«ç§ãã§ããããšãããã°ã è²¢ç®ã§ããŠãšãŠãããããã§ãã
lock
ã¯éåžžã«é ããfiles.pythonhosted.org
ãã倧éã®ããŒã¿ãããŠã³ããŒãããããšã«æ°ä»ããŸãããscipy
flask
ãªã©ã«äŸåããå°ããªãããžã§ã¯ãã§ã¯800MB以äžã§ãã
決å®çãªèšŒæ ã§ã¯ãããŸãããã scipy
ãéåžžã«é·ãpipenv
ããã¯æéãšçžé¢ããŠããã®ã§ã¯ãªãããšçã£ãŠããŸãã
æã æ¬åœã«èŠçã§ããç§ã¯PyPDF2ãštextractãã€ã³ã¹ããŒã«ããŠããŸãã pipenvã¯ããã¯ããã®ã«çŽ10åããããŸããã
pipenvã®é ãã¯ãç§ãã¡ã®éçºããã»ã¹ãæ¬åœã«åŠšããŸãã ãã®åé¡ã解決ãããŸã§ãpip + virtualenvã䜿çšããããšããå§ãããŸãã
ããã«é¢ãããã¥ãŒã¹ã¯ãããŸããïŒ å©ããæ¹æ³ã¯ãããŸããïŒ
https://github.com/pypa/pipenv/issues/1914ã®è€è£œ
/ç·šéïŒãšããã§ããªãpipenv install
ã¯ããã¯ãã¡ã€ã«ã®ããŒãžã§ã³ãæŽæ°ããã®ã§ããïŒ o.Ãããã¯ãã¿ã€ã ã¢ãŠãããåŸã«å®è¡ããŸãããæ°ããããã¯ãã¡ã€ã«ãèŠããšããã³ãã0.23.4ãã0.24.0ã«ãnumpyã0.16.0ãã0.16.1ã«æŽæ°ãããŠããããšãããããŸããç§ãpipenv update
ãããªããã°ããããèµ·ãããšã¯æããªã...
ã€ã³ã¹ããŒã«ãéããããã¯ãé
ãã®ã§ã Installation Succeeded
ã¡ãã»ãŒãžã衚瀺ããããããã«ãä»ã®äœããã€ã³ã¹ããŒã«ãããå Žåãé€ããŠãäœæ¥ãç¶è¡ã§ããŸã...
...ãŸãã¯ããã¯ãã¡ã€ã«ããªããžããªã«ããã·ã¥ããå¿ èŠããããŸãã
lock
ããã§ã«å¥ã®ã³ãã³ãã§ããããšã確èªããŠã install
ãšã«ããããã¯ãå®è¡ããå¿
èŠããããŸããïŒ ãã®éã install
ãªãã·ã§ã³ã®èª¬æã§ã¯ãããã¯ãè¡ãããããšãæå®ããå¿
èŠãããããããã--skip-lock
æšå¥šããããšãããããŸãã
ãŸãããã®åé¡ãåºå®ããã®ã¯ã©ãã§ããïŒ
Pipenvã¯æ¬åœã«çŽ æŽãããããŒã«ã§ã以åã¯ããããå§ãããŠããŸãããã8ã€ã®ã¢ãžã¥ãŒã«ãå«ããããžã§ã¯ãã§ã¯ããã¯ã§ããŸãã...ã¿ã€ã ã¢ãŠãããã ãã§ãã ãã®åé¡ã解決ããããšã«é¢å¿ã¯ãªãããã§ãããã¯éåžžã«èç«ãããããšã§ãã pypyããããŠã³ããŒãããªããŠãäŸåé¢ä¿ãååŸã§ãããšèªã¿ãŸããããããã¯ãã®åé¡ã®åé¿çã§ããïŒ ããã§ãã®ãªãã·ã§ã³ã«ã€ããŠã®è©±ã¯èŠãããŸããã çŸæç¹ã§ã¯ãããŒã«ã¯ç§ã®ç®çã«ã¯äœ¿çšã§ããŸããã
pexpect.exceptions.TIMEOUT: <pexpect.popen_spawn.PopenSpawn object at 0x10e12e400>
searcher: searcher_re:
0: re.compile('\n')
<pexpect.popen_spawn.PopenSpawn object at 0x10e12e400>
searcher: searcher_re:
0: re.compile('\n')
pipenv lock -r 87.22s user 18.57s system 11% cpu 15:02.77 total
ããããã®ãããžã§ã¯ãã®äž»ãªåªå äºé ã§ã¯ãªãã®ã¯ãªãã§ããïŒ Pipenvã¯éåžžã«é ãã®ã§ãã»ãšãã©äœ¿çšã§ããŸããã ããã€ãã®çããåŽé¢ã®ãŠãŒã¹ã±ãŒã¹ã ãã§ãªããåžžã«éåžžã«é ãã§ãã
å éšã§äœãèµ·ãã£ãŠããã®ããããŸãç¥ããã«ãäŸåé¢ä¿ã°ã©ãã®ããŒã«ã«ãã£ãã·ã¥ã§ãããããŸã解決ã§ããã®ã§ã¯ãªãããšèããŠããŸããã
èããŠã¿ãŠãã ãããããã±ãŒãžx-1.2.3
ãy>=3.4
ã«äŸåããŠããå Žåãããã±ãŒãžã1ã€ãã€ããŠã³ããŒãããŠæ¡åŒµããäŸåé¢ä¿ã確èªããéã«çŸåšè¡ãããŠããå€ãã®äœæ¥ãããŒã«ã«ã§å®è¡ã§ããŸãã ã lock
ãã§ãŒãºã¯ã次ã®ããã«åçŽã«ãªããŸãã
ãããã®å Žåããæåã¯é ããããããŸãããããã®åŸã®ããã¯ã¯çã¿ããããŸãããã
å°ããªãããžã§ã¯ãã§ã¯ãpipã®ä»£ããã«pipenvã䜿çšããããšã«ããŸããã ç§ãæåã«ããããšã¯pipenv install -r requirements.txt
ã çŸåšãçŽ10åéäŸåé¢ä¿ãããã¯ããŠããŸãã ãããã£ãŠããããã«æ»ããŸãã
çããããã®åé¡ã¯å€ãã®ãŠãŒã¶ãŒã«è² æ ããããŠããŸãã ç§ã¯ããã«è¿ éã«å¯ŸåŠããããšãææ¡ããŸãã
ç§ã®å ŽåãäŸåé¢ä¿ããµãŒããŒã«ã€ã³ã¹ããŒã«ãããšããµãŒããŒãäœæéããã³ã°ããŸãã 1GBã®RAMãæèŒããAWSEC2ã€ã³ã¹ã¿ã³ã¹t2.micro
ã䜿çšããŠããŸãã ããã ãã®RAMã¯ãäŸåé¢ä¿ãã»ãšãã©ãªãåäžã®ã¢ããªã±ãŒã·ã§ã³ã«ã¯ååã§ãããã€ã³ã¹ããŒã«ã«ã¯ãã¹ãŠã®ã¡ã¢ãªãå¿
èŠã§ããããµãŒããŒãåèµ·åããŠåäœãããæ¹æ³ã¯1ã€ãããããŸããã
ãã®åé¡ã¯éåžžã«é·ãéä¿çãããŠãããä¿®æ£ã¯è¡ãããŠããŸããã 解決ããã«è€æ°ã®åé¡ã解決ãããŠããã®ãããããŸãã
ãã®ãããªçŽ æŽãããããŒã«ã¯ç¡èŠãããŠããŸãã ãã®åé¡ã¯è§£æ±ºãããªãã®ã§ã賌èªã解é€ããŸãã condaã®ãããªãã®ã«åºå·ããããvirtualenvã䜿çšããŠæåã§å®è¡ããŸãã
https://github.com/sdispater/poetryãè©ŠããŠã¿ãããšæã
管çè ã¯ãã®ã¹ã¬ãããã³ã¡ã³ãã«è¿ã¥ããããšãã§ããŸããïŒ ãã£ã¹ã«ãã·ã§ã³ã«åœ¹ç«ã€è¿œå ã³ã³ãã³ããè¿œå ãããŠããªãããã§ãã
åé¡ã®ä¿®æ£ã«åããäœæ¥ã远跡ãããã±ããã賌èªã§ããã°å¹žãã§ãã
ããããšãïŒ
ãã®ããŒã«ã䜿çšããŠããŠããã®ã¹ã¬ããã«äžæºãèšã£ãŠãã人ã®99ïŒ ã¯ããã°ã©ããŒã ãšæããŸãã æ³£ãèšãèšã代ããã«ãå£ã®äžã«æéã眮ããŠPRãæåºããŠãã ããã
ããã«ã¡ã¯@idvorkin ã
ç§ã¯äžåºŠè©ŠããŸã
äºçŽ°ãªä¿®æ£ã®ããŒãžãéæããã®ã«æ°é±éããããŸããã
ãã£ã¹ã«ãã·ã§ã³ã®éãå®éã®ä¿®æ£ãµã€ãºãšæ¯èŒããã ãã§ãã
ç§ã¯ééããªãããã®ãããžã§ã¯ãã«ãã以äžã®ä¿®æ£ãæåºããããããŸããã
ãããã£ãŠãããªãã®ã¢ããã€ã¹ã¯ããªããæ³å®ã§ããã»ã©å®è¡å¯èœã§ã¯ãããŸããã
@Jamimã¯å€ãã®ãŠãŒã¶ãŒã代衚ããŠïŒãããŠç§ã¯ç®¡çè ãããã ãšæããŸãïŒãããªãã®è²¢ç®ã«æè¬ããŸãã ç§ã¯ããªãã®PRãèªã¿ãŸããããããŠç§ã¯æ¬²æ±äžæºã«å ±æããããšãã§ããŸããã ãã ããããã«ã€ããŠã¯@techalchemyã«åæããå¿ èŠããããŸãã
ãã¡ãããç§ãã¡ã¯ç§ãã¡ãç¶æããŠããå³æžé€šã«é¢å¿ãæã£ãŠããŸããããã¬ãŒãžã³ã°ã¯ââããããååããªçžäºäœçšãæã€ããã®æãå¹æçãªæ¹æ³ã§ã¯ãªãããšããå§ãããŸãã
ç§ã¯ç®¡çè ã«äŒã£ãããšããããŸãããã圌ããç§ã®ãããªãã®ã§ããã°ïŒãããŠããããããªãïŒã圌ãã¯å¿ããç掻ãéã£ãŠãã人éã§ããããã®ãããžã§ã¯ãã«è²»ãããšãã«ã®ãŒãåŸãåããã人çã¯ã³ãããã¡ã³ãã«æºã¡ãŠããŸãã
åæ§ã«ãããªãïŒãŸãã¯ä»ã®èª°ãïŒãããã©ãŒãã³ã¹ã®åé¡ãä¿®æ£ããå Žåãéçºããã¹ããããŒãžããŸãã¯å¿ èŠã«å¿ããŠïŒãããŠç§ã¯ããããããªããšã¯éåžžã«çãããïŒãã©ãŒã¯ã®äœæãæ¯æŽããå€ãã®äººã ãããã§ãããã
ãã®ãããžã§ã¯ãã®éçºè
ãããã«è²»ãããŠããæéã«æè¬ããŸããããã®ãããžã§ã¯ãã¯ãŸã README.md
ã®ãŠãŒã¶ãŒã®èšŒèšã®ããäžã§æ¬çªç°å¢ã«å¯Ÿå¿ããŠããªãããšã倪åã§èŠåããå¿
èŠããããŸããçŸåšã¯äººã
ããã®é
ãããã¯ã«ã€ããŠç¥ããããã䜿çšã§ããªãããšãç解ãããŸã§ãçŸåšã®pip / virtualenvã¹ã¿ãã¯ãpipenvã«çœ®ãæããããã«è²Žéãªæéãè²»ããããã«èª€è§£ãæã人ã
ã
圌ãããã®é ãããã¯ã«ã€ããŠç¥ãã圌ããããã䜿çšã§ããªãããšãç解ãããŸã§ã
æ¬åœã«éåžžã«é ãã®ã§ã¹ããŒããäžããããšãã§ããŠãšãŠãããããã§ããããã®ãããªèªåŒµã¯å¿ èŠãããŸããã
ç§ã¯æ¯æ¥pipenvãããŸã䜿ã£ãŠããŸãã ãããæäŸããã¯ãŒã¯ãããŒã®æ¹åã¯ãææã®é床äœäžãå€§å¹ ã«äžåããŸãã ããšãã°ã¹ã¯ãªãããå®è¡ããã®ãšã¯å¯Ÿç §çã«ãããã¯ã¯ç§ããã€ãè¡ãããšã§ã¯ãããŸããã
å®éã«äœ¿çšã§ããªããšæãããããªåé¡ã«ãªãããšãã©ã®ãããã®é »åºŠã§ããã¯ããŸããïŒ ïŒopen_mouthïŒ
@bochechaç§ã®å£°æã¯ããªãã®æèŠã§ã¯èªåŒµãããããŸããããããã¯ç§ã®çµéšã«åºã¥ãäºå®ã§ããç§ã¯äœäººãã®ååããpipenvã«ã€ããŠèãããä»æ¥ç§ã¯å€ããããžã§ã¯ããæŽæ°ããããšããããã®äŸåé¢ä¿ãæŽæ°ããããšããããªã©ç§ã¯pip / virtualenvããæŽæ°ã§ãããšæã£ãæŽæ°ããã»ã¹ã®äžéšãšããŠã®pipenvã äŸåé¢ä¿ãæŽæ°ãããããã©ã®ããã«æ©èœãããã確èªããå¿
èŠã«å¿ããŠã³ãŒãã®äžéšãæŽæ°ããŠãããå¥ã®äŸåé¢ä¿ãæŽæ°ããå¿
èŠããããŸããã pipenv install <something>
ãå®è¡ãããã³ã«ãéæ¹ããªãé·ãæéãåŸ
ããªããã°ãªããŸããPipfile
ãšPipfile.lock
ãåé€ããŠãpip / virtualenvã¯ãŒã¯ãããŒã«æ»ããŸããã ç§ã¯è©©ãè©ŠããŠã¿ãããªããŸãããããã1æéå±éºãåãããšã¯ã§ããŸããã§ããã
ããšãã°ããã®ããšã¯JSã³ãã¥ããã£ã§çºçããŸãããPythonã³ãã¥ããã£ã§ã¯çºçããªããšæããŸããã³ãã¥ããã£ã§ã¯ãã®çš®ã®åé¡ã¯çºçããªããããåé¿ããå¿
èŠããããŸãã README.md
å
責äºé
ã¯åé¿ã§ããŸãããã®äžäŸ¿ããªã®ã§ãã³ã¡ã³ãã§ææ¡ããŸããã ä»æ¥ã®ç§ã®æéãç¯çŽã§ããä»ã®æ°èŠåå
¥è
ã®æéãç¯çŽã§ãã圌ãã¯ãã®ãããžã§ã¯ãã§æªãçµéšãããããšã¯ãªãã®ã§ãå°æ¥ã®æœåšçãªãŠãŒã¶ãŒãšããŠçãŸãããšãã§ãããšæããŸãã
ç§ã¯ãµããµã³ã«ã¡ãã£ãšåæããŸãã 誰ããåãããã«ãã®åé¡ã®åœ±é¿ãåããŠããããã§ã¯ãããŸããããç§ãã¡ã®äœäººãã¯ããªãã²ã©ã圱é¿ãåããŸããã ç§ã¯å®å šã«æ©èœããŠããªãããŸãã¯æ¬çªç°å¢ã«å¯Ÿå¿ããŠããªããªãŒãã³ãœãŒã¹ãããžã§ã¯ããäœæããŸããããã®å Žåã¯å 責äºé ãèšèŒããŠããã®ã§ãåé¡ãçºçããæºåãã§ããŠããªããŠãæéãç¡é§ã«ããããšã¯ãããŸããã
ç§ã¯ãã®ãããžã§ã¯ãã«æºãã£ãŠãã人ã ã«è ¹ãç«ãŠãŠããŸããããããã«ã€ããŠå ¬ã«è©±ããã人ã«ã¡ãã£ãšè ¹ãç«ãŠãŠãããå 責äºé ããªãåªããããŒã«ãšããŠè²©å£²ããŠããŸãã ãã®çµæãé·æçã«æéãç¯çŽããããšæã£ãŠãããŒã«ãæ©èœãããããã«è²Žéãªæéãããªãç¡é§ã«ããŸããããpipenvãæ©èœããªãã£ããããpipãšèªåã®ã¹ã¯ãªããã«æ»ãå¿ èŠããããŸãããç§ã®æéãšåž¯åå¹ ã«å¶çŽã®ããç°å¢ã§ã
pipenvinstallãå®è¡ãããã³ã«
ãããžã§ã¯ããpipenvã«ç§»åããããšãããšãã«ãæ¢åã®ãããžã§ã¯ããã1åã ãããã¯/ã€ã³ã¹ããŒã«ããpipenv install -r requirements.txt
ã«ã€ããŠç¥ã£ãŠããŸãããïŒ ããã§ãªãå Žåãåé¡ã¯ããã¥ã¡ã³ãã®1ã€ã§ããå¯èœæ§ããããŸããïŒ
äœããããŸããpipenvãpip / virtualenvã¯ãŒã¯ãããŒã®åªãã代æ¿åã«ãªããšç¢ºä¿¡ããŠããŸããç§ãã¡å šå¡ããããå¿ èŠãšããŠããããšãç¥ã£ãŠãããšæããŸãããŸããpipenvãæ¬çªç°å¢ã«å¯Ÿå¿ã§ããæ¥ã¯ãå€ãã®äººã /ãããžã§ã¯ãã«ãšã£ãŠå€§ããªå©ãã«ãªããšæããŸãã
@bochechaã§èª¬æããããã«ãæ°ããããŒãžã§ã³ã®ããã±ãŒãžãã€ã³ã¹ããŒã«ããããã€ãã®äœæ¥ãè¡ã£ãŠãã次ã®ããã±ãŒãžã«é²ãå¿
èŠããããŸãããããããããã®ããã»ã¹ãpipã§å®è¡ããŠãããpipenvã«ç§»è¡ããå Žåãåé¡ã«ãŸã£ããæ°ä»ããªãã§ããããããããç§ã¯æåã«pipenvã«ç§»è¡ãã次ã«ããã±ãŒãžã1ã€ãã€æŽæ°ããŸããããããã¯æ¬åœã«é¢åã§ããã ãããããªãã®ãŠãŒã¹ã±ãŒã¹ã§æ©èœããããšãå¬ããæããŸãããç§ã®ãããªå€ãã®äººã
ã«ãšã£ãŠã¯æ©èœããªããšç¢ºä¿¡ããŠããŸãïŒäžèšã®ã³ã¡ã³ããèŠãŠãã ããïŒã README.md
ã«èšèŒããå¿
èŠããããŸããå°ãªããšãããåããã¯ã«ã¯æéããããå¯èœæ§ãããããããŠãŒã¹ã±ãŒã¹ã«å€æ°ã®ããã±ãŒãžã®ã€ã³ã¹ããŒã«/åé€ãå«ãŸããŠããå Žåã¯ããã®åé¡ãçºçãããŸã§ãpipenvã®äœ¿çšãé¿ããå¿
èŠããããŸãã解決æžã¿ãïŒããã§ã倪åã§ã蚌èšã«å ããŠïŒèª°ãã圱é¿ãåããåã«åé¡ãçºè¡šãããšã誰ããæè¬ããŸããåé¡ãä»ã®äººã«åœ±é¿ãåãŒããèŠåããªãã£ãå Žåã誰ããæããŸãã
åæããŸããã ç§ã¯è©©ã調ã¹å§ããŸããããpipenvãå床䜿çšãã代ããã«ããããžã§ã¯ãããšã«OSã«å¥ã®ãŠãŒã¶ãŒãè¿œå ããŸããã ããã©ã«ãèšå®ã§ã®ã«ãžã¥ã¢ã«ãªãŠãŒã¹ã±ãŒã¹ã§ããŸãæ©èœããªãå Žåã¯ã imhoãå£ããŠã
ãšãŠã䟿å©ãªããŒã«ã§ãïŒ ç§ã«ãšã£ãŠãããéåžžã«åœ¹ã«ç«ããªããã®ã«ããŠããã®ã¯ãã®1ã€ã ãã§ãã ãããŠæ²ããããšã«ãç§ã¯è²¢ç®ããæéãã»ãšãã©ãããŸããïŒ|
確ãã«ãéçºã»ãã·ã§ã³ã®éäžã§è€æ°ã®ã€ã³ã¹ããŒã«ãå®è¡ããå¿ èŠãããå Žåãããã¯ãåŸ ã€ã®ã¯é¢åã§ãããããã¯ç®¡çã§ããŸãã
éèŠãªããšã¯ãããŒã«ã«ã®å€æŽããªããžããªã«ããã·ã¥ããåã«ããã¯ãã¡ã€ã«ãçæãããããšã§ãã ç§ã¯éçºã»ãã·ã§ã³äžã«âskip-lock
ãã©ã°ãæ
éã«äœ¿çšããã³ãããããåã«æåŸã«pipenv lock
1å䜿çšããŸãã
ãããžã§ã¯ããããããšãã ãããã
ããã¯ã¯verrrrrrrrrrrrrrrrrrrrrrrrrrrrrryslowwwwwwwwwwwwwwwwwwwwwwwwwwwwwã§ãã
PIP_NO_CACHE_DIR=off
ãã®envã¯ãpipããã±ãŒãžãã£ãã·ã¥ããã§ã«ã€ã³ã¹ããŒã«ãããŠããå Žåãããã¯ãããé«éã«ããŸãã
ããã«ã¡ã¯@yssourceãšçããã
ãããžã§ã¯ããããããšãã ãããã
ããã¯ã¯verrrrrrrrrrrrrrrrrrrrrrrrrrrrrryslowwwwwwwwwwwwwwwwwwwwwwwwwwwwwã§ãã
ãã®ãããžã§ã¯ãã¯æ»ãã§ããããã§ããé床ã®åé¡ã解æ¶ãããå Žåã¯ãå€§å¹ ã«é«éãªPoetryãžã®ç§»è¡ãæ€èšããŠãã ããã
@Jamim ãè©©ãææ¡ããŠãããŠããããšãã å人çã«ã¯ãã©ããããããåºäŒããŸããã§ããã ãã®readmeãèªãã åŸãè©ŠããŠã¿ã䟡å€ãããããã§ãã Pipenvã«æ¯ã¹ãŠããã€ãã®å©ç¹ããªã¹ããããŠããŸãïŒhttps://github.com/sdispater/poetry/#what-about-pipenvïŒã
ããã¯èšã£ãŠãããããžã§ã¯ããæ»ãã§ããããšã¯ã²ã©ãèªåŒµãããŠãããããç§ãpipenvã®äœè ã®ç«å Žã«ãã£ããšããããããã¯ç¡ç€Œã ãšæãã§ãããã èè ã¯æšæ¥ãåé¡ã®ã»ã¯ã·ã§ã³ã§è¿ä¿¡ããŸããã ããããä¿®æ£ãé£ããããããã®ããã¯ã®åé¡ãèŠèœãšãããŠããã ãã§ãã
èšé²ãšããŠãPoetryã¯ããã©ãŒãã³ã¹ã®åé¡ã«ãæ©ãŸãããŠããŸãã
https://github.com/sdispater/poetry/issues/338
ç§ã¯ãã¹ãŠã®ãããžã§ã¯ãã§åãåé¡ãæ±ããŠããŸãã
åå ã¯ããªã³ãã®ããã§ãã
PipenvïŒpipïŒã¯æ£åžžã«ã€ã³ã¹ããŒã«ã§ããŸãããããã¯ã«ã¯æ°žé ã«æéãããããŸãã
pipenv, version 2018.11.26
æå°éã®äœæ¥äŸ
djbrown@DESKTOP-65P6D75:~$ mkdir test
djbrown@DESKTOP-65P6D75:~$ cd test
djbrown@DESKTOP-65P6D75:~/test$ pipenv install --dev pylint --verbose
Creating a virtualenv for this projectâŠ
Pipfile: /home/djbrown/test/Pipfile
Using /usr/bin/python3 (3.6.9) to create virtualenvâŠ
â ž Creating virtual environment...Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/djbrown/.local/share/virtualenvs/test-PW-auWy_/bin/python3
Also creating executable in /home/djbrown/.local/share/virtualenvs/test-PW-auWy_/bin/python
Installing setuptools, pip, wheel...done.
â Successfully created virtual environment!
Virtualenv location: /home/djbrown/.local/share/virtualenvs/test-PW-auWy_
Creating a Pipfile for this projectâŠ
Installing pylintâŠ
â Installing...Installing 'pylint'
$ ['/home/djbrown/.local/share/virtualenvs/test-PW-auWy_/bin/pip', 'install', '--verbose', '--upgrade', 'pylint', '-i', 'https://pypi.org/simple']
Adding pylint to Pipfile's [dev-packages]âŠ
â Installation Succeeded
Pipfile.lock not found, creatingâŠ
Locking [dev-packages] dependenciesâŠ
â Locking...
ç§ã¯pipenvã«ã€ããŠããããèããŠãä»æ¥ãããè©ŠããŸããã
ããã¯ãç§ã«ãšã£ãŠã¯éåžžã«é
ãã§ãã ãã§ã«2åã»ã©çµã£ãŠããŸããããŸã ããã¯ãããŠããŸãã
ããŠã³ããŒãã¯ããªãé«éã§ãããåé¡ã¯ããã¯ã«ãããŸãã
ãã®åé¡ã¯è§£æ±ºããŸãããïŒ
Pop os 19.10ãpipenvãaptã®ããŒãžã§ã³11.9.0ãpython3.7.5ã䜿çšããŠããŸãã
åããããã¯https://github.com/pypa/pipenv/issues/1914#issuecomment-457965038ã«é¢ããïŒ1914ããã®ãã®åªããã³ã¡ã³ãã«æ³šç®ããããšæã
ãã®ã¢ãããŒãã®å®çŸå¯èœæ§ã«ã€ããŠãéçºè ãã³ã¡ã³ãã§ãããã©ããçåã«æããŸãã
å®éã«ã¯ãç°å¢ãåé€ããŠæåããåäœæããããã¯ãã¡ã€ã«ãæŽæ°ããæ¹ãéãããšã«æ°ã¥ããŸããã
ããã¯ã pipenv lock
ãšpipenv install some-package
äž¡æ¹ãå®è¡ããå Žåã«åœãŠã¯ãŸããŸãã
ç§ã¯pipenv
ãæ¬åœã«å¥œãã§ããã垯åå¹
ãšæéã¯ããã»ã©å¥œãã§ã¯ãããŸããã ã ããç§ã¯æ¬¡ã䜿çšããŠåé¡ã解決ããããšã«ãªããŸãïŒ
$ pipenv --rm
$ virtualenv .
$ source bin/activate
$ # Create a requirement file (Cause pipenv lock -r > requirements.txt... you know!)
$ pip install -r requirement.txt
éçºè ã®å¹žéãç¥ããŸã...
@ravexinaææ¡ãããããšããç§ã¯ç¢ºãã«ããããšããŸã
æãåèã«ãªãã³ã¡ã³ã
lock
ã¯éåžžã«é ããfiles.pythonhosted.org
ãã倧éã®ããŒã¿ãããŠã³ããŒãããããšã«æ°ä»ããŸãããscipy
flask
ãªã©ã«äŸåããå°ããªãããžã§ã¯ãã§ã¯800MB以äžã§ããããã§ã
files.pythonhosted.org
ã«å¯ŸããŠè¡ããããªã¯ãšã¹ããã¹ãããã£ã³ã°ãããšãããpipãŸãã¯pipenvãå®å šã«äžèŠãªããŠã³ããŒããå®è¡ããŠãããããlock
ãéåžžã«é ããªã£ãŠããããšãããããŸãããããšãã°ãåãããŒãžã§ã³ã®
numpy
ãå®å šã«æ°åããŠã³ããŒããããŠããŸããã ãããŠãç§ã¯Macã䜿çšããŠããŸããããWindows / Linuxçšã®ãã€ãŒã«ãããŠã³ããŒãããŸãããç§ã®ã»ããã¢ããïŒ