äžéšã®ãŠãŒã¶ãŒã¯ãpip 9.0.2ã®é¢æ°ã§import pip
ãåŒã³åºããšãã«ãã€ã³ããŒããšã©ãŒãçºçããããã«ãªããŸããã 9.0.1ã«ããŠã³ã°ã¬ãŒããããšãåé¡ãä¿®æ£ãããŸãã
ãã¬ãŒã¹ïŒ https ïŒ//user-images.githubusercontent.com/2273226/37558391-5e41fc94-2a24-11e8-9fdc-5884445e829a.png
詳现ã¯ãã¡ãïŒ
https://github.com/Miserlou/Zappa/issues/1446
ããã確èªã§ããŸãã ã¡ããã©åãåé¡ãæåºããããšããŠããŸãã
ããã¯ïŒ5079ã®è€è£œã§ããpipã®ã€ã³ããŒãã¯ãµããŒããããŠãããŠãŒã¹ã±ãŒã¹ã§ã¯ãããŸããïŒãµããŒããããããšã¯ãããŸããïŒã
ãã..åäžã®x.x.PATCH
ããŒãžã§ã³ãã³ãã§å€§ããªé倧ãªå€æŽãå ããŸããïŒ ãã¡ã€ã³ããšåŒã°ãããããã¬ãã«ã®ã¡ãœããã®å Žåã¯ïŒ ããã¯ããªãæªã圢ã ãšæããŸãã
ãããAnacondaãå£ãã @ Miserlouãšåã解決çãæãã€ããŸããã
https://github.com/ContinuumIO/anaconda-issues/issues/8911
å€ãã®ãããžã§ã¯ãã§ãšã©ãŒãå ±åãããŠããŸãã
ãã®ãšã©ãŒã¯ãpipã䜿çšããŠanaconda-navigatorãæŽæ°ããããšãããšãã«ãæ°ã«ãªããŸããã
ãããä¿®æ£ãã9.0.3ãå ¥æããå¯èœæ§ã¯ãããŸããïŒçæ³çã«ã¯ããã«ã§ããïŒ
ããã¯ãã§ã«å€ãã®äž»èŠãªãããžã§ã¯ãïŒAnacondaãSpaCyãZappaïŒã«åœ±é¿ãåãŒããŠãããGitHubã ãã§85äžå以äžã®äœ¿çšãããããã®æ³å®ããããããããããŒãžã§ã³ã®æŽæ°ã«ãã£ãŠå£ããŠããŸãã
å°ãªããšã9.0.3ã§ãã®å€§èŠæš¡ãªå€æŽãå ã«æ»ãããã®åŸãå°æ¥ã®10.xxãŸãã¯å°ãªããšã9.xxãªãªãŒã¹ã§ãã®åäœãå€æŽããæå³ãããŠã³ã¹ããªãŒã ã«_ã¢ããŠã³ã¹_ã§ããŸããïŒ
å€ãããŒãžã§ã³ã䜿ããããªãã®ã§ãããããããŸãã«ç§ãã¡ããã£ãããšã§ãã 9.0.2ã¯ãå°ãªããšãçŸæç¹ã§ã¯ãCIç°å¢å ã«ã¯ååšããŸããã
äžéšã®OpenStackãããžã§ã¯ãã§ããã®ããããèŠãããŸãã
ããã10ã¯çŽ1ãæã§æéãåããŸãã ç§ãç解ããŠããããã«ãåé¡ã¯import pip
ã䜿çšããŠpipã®å
éšæ©èœã«ã¢ã¯ã»ã¹ããã³ãŒãã«ãããŸãã ãã®ãããªäœ¿çšæ³ãå
¬åŒã«ãµããŒãããããšã¯ãªãããµããŒãã®æ¬ åŠããã°ããã®éæ瀺çã«ææžåããŠããŸãïŒãã ããhttpsïŒ//pip.pypa.io/en/latest/user_guideã®ãææ°ãããŒãžã§ã³ã®ããã¥ã¡ã³ãã®ã¿ã§ãïŒã /ïŒusing-pip-from-your-programããã®ããã¥ã¡ã³ãã»ã¯ã·ã§ã³ãè¿œå ãããŠããæ°ããå®å®ãããªãªãŒã¹ããªãããïŒã ãŸããæšå¹Ž10æã«ãå
éšAPIã®äœ¿çšããµããŒããããŠããªãããšãæ確ã«ããããã«ãå
éšã®åç·šæãçºè¡šããŸããïŒhttps://mail.python.org/pipermail/distutils-sig/2017-October/031642.htmlãåç
§ïŒã ãã®å€æŽã¯pip10ã«ãããå¯èœãªpip 9.0.3ãªãªãŒã¹ãã©ã®pipãå®è¡ãããã«é¢ä¿ãªãããã®ãããªäœ¿çšæ³ãå£ããŸãã ãããã£ãŠããããçªç¶ã®äºæããªãç ŽæãšèŠãªãããšã¯å°é£ã§ãã
@dstufftãç·æ¥ã®9.0.3ãªãªãŒã¹ãäœæãããå Žåã¯ãããã§åé¡ãããŸããã ããããããã¯éåžžã«çæçãªå©çã«ãããã人ã
ããŸã import pip
ããé¢ããŠããªãããšã«å°ããã£ããããŠããŸãã ãã®åé¡ã«èŠèããã人ã
ã¯ããŸã ããã10ã®æºåãããå¿
èŠããããåã«import pip._internal
ã«åãæ¿ããããšã¯ãç§ãã¡ããµããŒããŸãã¯æšå¥šãããã®ã§ã¯ãªãããšãç解ããå¿
èŠããããŸãã
ããã¬ãã«ã®APIãµããŒããåå°å ¥ããææ¡ã¯ç¢ºãã«ãªãã·ã§ã³ã§ããïŒããšãã°ïŒ5080ãåç §ïŒããã®æ®µéã§ã¯ããã®ãããªå€æŽãpip10ã«ããã®ã¯é ãããŸãã
å€ãæ¹æ³ã䜿çšããŠãã人ã®ããã«ã³ãŒãã«ãã£ãŠèŠåãåºãããããšã¯ãªããããã_ã§å§ãŸããå éšãã§ããããšã瀺ããã®ã¯ãªããããã¯åãªããã°ä¿®æ£ã®ãã³ãã§ãããå®éã«ã¯ãããçªç¶ã®äºæããªãç ŽæãšèŠãªãã®ã¯éåžžã«ç°¡åã ãšæããŸãã
ã¯ããããã¯äººã
ãMAJOR
ããŒãžã§ã³ã¢ããããŒãããæåŸ
ã§ããã¿ã€ãã®å€æŽã§ãã ããã¯å€§äžå€«ã ããã
æ®å¿µãªããããã®å€§èŠæš¡ãªå€æŽã¯PATCH
ã®æŽæ°ã§çºçããŸãããããã¯ã_åé¡ãä¿®æ£ããã®ã§ã¯ãªããä¿®æ£ããããšãç®çãšããŠããŸã_ã ããã¯ãã»ãã³ãã£ãã¯ããŒãžã§ãã³ã°ã®æ£å察ã§ãã ãã®çµæãPythonãšã³ã·ã¹ãã å
šäœã«ç倧ãªè¢«å®³ãçºçããŠããŸãã
ãã®å€æŽãã§ããã ãæ©ãå¥ã®PATCH
æŽæ°ã§å
ã«æ»ããŠãããäž»èŠãªé倧ãªå€æŽãMAJOR
ããŒãžã§ã³æŽæ°ã§è¡ãå¿
èŠããããŸãã ããªãã¯ãã§ã«ãã¹ãŠã®äººã®ããã«ææå°æ©ã«ãã¹ãŠãå£ããã®ã§ãç§ã¯åœŒããå®éã®å€§ããªå€åãæ¥ãŠããããšããã£ãšç¥ã£ãŠãããšæããŸãã
ãŸããããã¯å®å®ããããã¥ã¡ã³ãã«ææžåãããŠããªãããšãèãããšãããã¯ãã§ã«ææžåãããŠçºè¡šãããŠãããšèšãã®ã¯èŠå®ã ãšæããŸãããŸããçºè¡šã§ã¯ã1ãæã®ãããã§ã¯ãªããã¡ãžã£ãŒããŒãžã§ã³ã§äžæãçºçãããšè¿°ã¹ãŠããŸãããåã
ã©ãããã¿ããªã®å€§ããªé çã®çš®ãæãããã®åé¡ãå ã«æ»ããŠãå®éã«ã»ãã³ãã£ãã¯ããŒãžã§ãã³ã°ãé å®ãå§ããŠãã ããã
@MiserlouããããŸãããç§ã¯ããªãã®ãã€ã³ããåããŸã-ããã¯ã¡ãžã£ãŒããŒãžã§ã³ã§ãããããç§ãã¡ã¯pip10ã®å éšã®ååå€æŽã®å€æŽã察象ãšããŸããã ããããªãªãŒã¹ã®ãã©ã€ããŒã¯ããããããŸãã- @ dstufftãç§ã«pingãéä¿¡ããTLSãµããŒãã®å·®ãè¿«ã£ãç· ãåããè¿«ã£ããšãïŒpip 10ãªãªãŒã¹ã®åïŒã«MacOSãŠãŒã¶ãŒã®é倧ãªç Žæãåé¿ããããã§ãã åé¡ã¯ãçæéã®ããããªãªãŒã¹ãä¿èšŒããã®ã«ååãªã»ã©é倧ã§ãããšäºæ³ããŸããã 確ãã«ãæ¢åã®äœ¿çšæ³ãå£ãæå³ã¯ãããŸããã§ããã
ãã©ããŒã¢ãã9.0.3ã®æ±ºå®ã@dstufftã«ä»»ããªããã°ãªããŸãã-9.0.2ã«äœãå ¥ã£ããã®è©³çŽ°ãããããªããããã®åé¡ãä¿®æ£ããæ¹æ³ãç¹å®ããããšããå¯èœãã©ããããããããŸããã ãŸããMac OSã®åé¡ã®åœ±é¿ãåãã人ã®æ°ãããããªãããã9.0.2ãå®å šã«ãã«ããããšãå šäœçãªã¡ãªããã«ãªããã©ãããå€æããããšã¯ã§ããŸããã ïŒå°ãªããšãäžéšã®äººã«ãšã£ãŠã¯ïŒ9.0.1ã«åºå®ããããšã解決çã§ããããšãç解ããŠããã®ã§ããããæãæªãéžæè¢ã«ãªãå¯èœæ§ããããŸãã
macOS TLSã®åé¡ã¯ãmacOS <10.13ã§ã·ã¹ãã Pythonã䜿çšããŠãããã¹ãŠã®äººã«åœ±é¿ããŸã
ãã©ããŒã¢ãã9.0.3ã®æ±ºå®ã¯@dstufftã«ä»»ããªããã°ãªããŸãã
ç§ã¯@pfmooreãšåãç«å Žã«ããŸãã
åé¿çã¯ãã€ã³ããŒãã®é åºã確èªããã€ã³ããŒãããpipãä»ã®ããã±ãŒãžã®ã€ã³ããŒããããäžã«ç§»åããããšããã¹ãããããšã§ãïŒå ·äœçã«ã¯ãpipãã€ã³ããŒãããåã«ãªã¯ãšã¹ããã€ã³ããŒããããšè§£æ±ºããå ŽåããããŸãïŒã ïŒããã¯ãå ¬åŒã«ã¯ãµããŒããããŠããªãpipã®å éšã®äœ¿çšãæå³ããããšã«æ³šæããŠãã ãããïŒ
docker python3.4ã䜿çšããgitlab-ciã®pip9.0.2ã§åãåé¡ãçºçããŸãïŒKeyError
File "/usr/local/lib/python3.4/site-packages/pip/__init__.py", line 45, in <module>
from pip.vcs import git, mercurial, subversion, bazaar # noqa
File "/usr/local/lib/python3.4/site-packages/pip/vcs/mercurial.py", line 9, in <module>
from pip.download import path_to_url
File "/usr/local/lib/python3.4/site-packages/pip/download.py", line 40, in <module>
from pip._vendor import requests, six
File "/usr/local/lib/python3.4/site-packages/pip/_vendor/requests/__init__.py", line 98, in <module>
from . import packages
File "/usr/local/lib/python3.4/site-packages/pip/_vendor/requests/packages.py", line 12, in <module>
sys.modules['pip._vendor.requests.packages.' + mod] = sys.modules["pip._vendor." + mod]
KeyError: 'pip._vendor.urllib3.contrib'
åèãŸã§ã«ã9.0.2ã¯å£ãããã«ãã§ãªãªãŒã¹ãããŸããã
Travis-CIãªãã¡ã¬ã³ã¹ïŒ https ïŒ//travis-ci.org/pypa/pip/builds/354616774ïŒutm_source = github_statusïŒutm_medium = notify
確ãã«ããšã©ãŒã¯ç¡é¢ä¿ãããããŸããããããã¯ãæ¥ãã§ãªãªãŒã¹ãã®ãããªã«ãããããŸã...
@pfmoore
@dstufftãç·æ¥ã®9.0.3ãªãªãŒã¹ãäœæãããå Žåã¯ãããã§åé¡ãããŸããã ããããããã¯éåžžã«çæçãªå©çã«ãããã人ã ããŸã èŒžå ¥ãããããé¢ããŠããªãããšã«å°ããã£ããããŠããŸãã ãã®åé¡ã«èŠèããã人ã ã¯ããŸã pip 10ã®æºåãããå¿ èŠããããåã«pip._internalãã€ã³ããŒãããããã«åãæ¿ããããšã¯ãç§ãã¡ããµããŒããŸãã¯æšå¥šãããã®ã§ã¯ãªãããšãç解ããå¿ èŠããããŸãã
ããããã®ãªããžããªã®ææè ã«ãã声æã ãšã¯ä¿¡ããããŸãã...ããªãã¯æåéããf * ckã»ãã³ãã£ãã¯ããŒãžã§ãã³ã°ããšããšã«ããéæšå¥šããªã·ãŒãå¿ èŠãªäººããšèšã£ãã ãã§ãã
pipã¯ãæ¶è²»å¯èœãªpython apiãæã£ãŠããªããã®ãšããŠåžžã«ææžåãããŠããŸããããã®æç¹ã§ããããããªãã®å¹Žæããããèšã£ããã«ã«ãã奜転ãããããšãã人ã ã«å€±æããŠããŸãã
@RonnyPfannschmidtããã¯ãã100åå¶éé床ãè¶ ããŠé転ããããšã¯èš±å¯ãããŠããŸããããšèšã£ãŠããããã¹ãŠã®ãšã³ãžã³ã«ãŒãããªã³ãã¹ããŒã³ã«ãŒã«çœ®ãæããŠå¶éé床ã匷å¶ãããããªãã®ã§ããããé床å¶éã
ããªãã¯ãéåžžã«æªãèšèã®åããå€ããããšãå®å šã«ç€ºããŸãã-ãããã¯å£ããŸãããšèšã£ãŠããŸãã-ä»ããã¯å£ããŸããããããŠçªç¶ãããå£ããããšãåã«ããªãã«èšã£ããããžã§ã¯ãã¯èª€ãã§ã
ããªããéã¡ãç¯ããããªãã®ã§ãããã¯ãã éé£ããã ãã§ã
@RonnyPfannschmidt
ããªããéã¡ãç¯ããããªãã®ã§ãããã¯ãã éé£ããã ãã§ã
ã€ãŸããpipã®ææžåãããŠããªãæ©èœã«äŸåãããµãŒãããŒãã£ã®ããã±ãŒãžã䜿çšããããšã«è²¬ä»»ããããšèšã£ãŠããŸãã ãã¶ããç§ã¯...ãããã®ãšã©ãŒã«ã€ããŠãµãŒãããŒãã£ã®ããã±ãŒãžãã¹ã¯ãªãŒãã³ã°ããåé¡ãŸãã¯ããã«è¯ãPRãæåºããå¿ èŠããããŸããã
ããããçŸå®ã«çŽé¢ããŸããããçŸåšãæ¬çªç°å¢ã§äœ¿çšãããŠãããããžã§ã¯ãã¯ãããããããŸãããçŸåšã¯å£ããŠããŸãã ããã¯é埳ã®åé¡ã§ã¯ãªããããã誰ã®ããã§ããããšããåé¡ã§ããããŸããã ããããä¿®æ£ããŠãé©åãªèŠå/éæšå¥šãæäŸããŠããã ããŸããããã®åé¡ã§ãã
䜿çšããŠãããµãŒãããŒãã£ã®ããã±ãŒãžããææžåãããŠããªããä¿èšŒãããŠããªãå éšAPIã«äŸåããŠããããã«å£ããå Žåããã®ããã±ãŒãžã«å¯ŸããŠãã°ãå ±åããå¿ èŠãããããã«æãããŸãã
pip
ã®éšåããµãŒãããŒãã£ã®æ¶è²»ãç®çãšããŠãããããŸãã¯æå³ããŠããªããã®éã«ã¯ãç°¡åã«èŠã€ããããå¢çç·ããããŸããéçºè
ã«ãæ¬æ¥ããã¹ãã§ã¯ãªãã£ãå
éšAPIãç¶æããããã«åŒ·å¶ããããšããããšã¯ãµããŒãããŠããŸããããµãŒãããŒãã£ã®ããã±ãŒãžã«ãã£ãŠæ¶è²»ãããŸãã ç§ã¯ãããpip
éçºè
ã®ãããšããŠæ±ããæã£ãŠãããŠãŒã¶ãŒã圌ãã®éã«éãããšãæ¯æããŸããã 誰ãã«è
¹ãç«ãŠããå Žåã¯ãå
éšAPIã«äŸåããŠããããã±ãŒãžã䜿çšããŠããããšã«è
¹ãç«ãŠãã¡ã³ããã«èªåã®ã³ãŒããä¿®æ£ããããã«äŸé ŒããŠãã ããã
@ anx-ckreuzberger
ããããã®ãªããžããªã®ææè ã«ãã声æã ãšã¯ä¿¡ããããŸãã...ããªãã¯æåéããf * ckã»ãã³ãã£ãã¯ããŒãžã§ãã³ã°ããšããšã«ããéæšå¥šããªã·ãŒãå¿ èŠãªäººããšèšã£ãã ãã§ãã
ç§ã¯ããã§ã®æ¬²æ±äžæºãç解ããŠããŸãããç§ãã¡ãçŽæããªãã£ãããšã«ã€ããŠãããã¡ã³ãããŒãéé£ãã人ã ã®æ欲ã«ãŸããŸãæ©ãŸãããŠããŸãã
ãã®ãããªåçºããããå Žåã¯ãããããããã¯ã¢ããããŠãã ãã
ç§ã¯ããªãããã®èšŒæ ãèŠã€ãããšã¯æããªã...
ã€ãŸããpipã®ææžåãããŠããªãæ©èœã«äŸåãããµãŒãããŒãã£ã®ããã±ãŒãžã䜿çšããããšã«è²¬ä»»ããããšèšã£ãŠããŸãã
ãããããã ãããããã®ãããžã§ã¯ãã§ã¯ãªããpipã¡ã³ãããéé£ããããšã¯åãå ¥ããããŸããã ç§ãã¡ã¯ããªããå©ããããšããŠããŸããããããã®ãããžã§ã¯ããäœããããã«ã€ããŠè²¬ä»»ãè² ãããšã¯ã§ããŸããã 圌ããšããªãã®äžæºãæŸæ ããŸãã
ããããçŸå®ã«çŽé¢ããŸããããçŸåšãæ¬çªç°å¢ã§äœ¿çšãããŠãããããžã§ã¯ãã¯ãããããããŸãããçŸåšã¯å£ããŠããŸãã ããã¯é埳ã®åé¡ã§ã¯ãªããããã誰ã®ããã§ããããšããåé¡ã§ããããŸããã ããããä¿®æ£ããŠãé©åãªèŠå/éæšå¥šãæäŸããŠããã ããŸããããã®åé¡ã§ãã
èŠåãåºãããšããŸããã æ°ãæåã«ãç¥ãããéä¿¡ããç¶æ³ã説æããããã¥ã¡ã³ããè¿œå ããå
éšAPIã®äœ¿çšããµããŒããããŠããªãããšã瀺ããã©ãã«ãŒã®åé¡ã«äžè²«ããŠè¿ä¿¡ããŸããã éæšå¥šãè¿œå ããããšã¯ãpipèªäœããããã®èŠåãåãåºãã®ã§ãããªããææ¡ããã»ã©ç°¡åã§ã¯ãããŸããïŒãŸãã¯ãpipããããããªãã«ããæ¹æ³ããããä»ã®äººã¯ãããã³ããŒããã ãã§ã-ç§ãã¡ã¯ãã§ã«ã pip._internal
ãã€ã³ããŒãããŸããããããã°ããã®å€æŽã§ãã圌ããæ¢ããããšã¯ã§ããŸããïŒå€±æ:)ã
ããããä¿®æ£ãããããšã«é¢ããŠã¯ãå·®ãè¿«ã£ãåé¡ã«å¯ŸåŠããããã«9.0.2ãè¿ éã«ãªãªãŒã¹ãããããšãåãã§èªããŸããããã®åé¡ã¯äºæããŠããŸããã§ããã ãã¶ãã2ã3é±éã®å¯¿åœã§9.0.3ããªãªãŒã¹ããã®ã¯åççãªããšã§ããç§èªèº«ã¯ããã¯æããŸãããããããæ€èšãããšè¿°ã¹ãŸããã 9.0.xãªãªãŒã¹ã«é¢äžããŠããã®ã¯ç§ã§ã¯ãªããããå人çã«åæããããšã¯ã§ããŸããã ç§ã¯pip10ã«åãçµãã§ããŸããããã«ããããã®è°è«ã¯ãã¹ãŠç¡é¢ä¿ã«ãªããŸãããããã£ãŠãããããã®åé¡ã«é¢ããç§ã®æåŸã®èšèã§ããå¯èœæ§ããããŸãããã®ãªãªãŒã¹ã«é¢é£ããããšã«çŠç¹ãåœãŠãå¿ èŠããããŸãã
ç§ã®å人çãªã¢ããã€ã¹ïŒ
Dockerã³ã³ããå
ã®pip9.0.2ãšPython2.7.14ã§åãåé¡ãçºçããŸããã
ãã ããDockerã³ã³ããã®å€éšã«ããéçºãã·ã³ã§åé¡ãåçŸããããšã¯ã§ããŸããã
pip importïŒ import.pip
ã from.pip
ã \'pip
ã \"pip
ã®grepïŒãæ€çŽ¢ããŸããããäœãèŠã€ãããŸããã§ããã
ç§ãã¡Ploneã¯ãsetuptools setup.pyãã¡ã€ã«ã«å«ãŸããŠããããã±ãŒãžã®æ§æãèªåçã«å«ããã¡ã«ããºã ã䜿çšããŠããŸããããã¯çãããããã«èãããŸãããããã__import__
ã䜿çšããŠãããpipAFAIcanseeããã®ãã®ã§ã¯ãããŸããã
ããã¯ããã¬ãŒã¹ããã¯ã®é¢é£éšåã§ãã
File "/home/plone/.buildout/shared-eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS
self.context.end()
File "/home/plone/.buildout/shared-eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 558, in end
self.stack.pop().finish()
File "/home/plone/.buildout/shared-eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 706, in finish
actions = self.handler(context, **args)
File "/home/plone/.buildout/shared-eggs/z3c.autoinclude-0.3.7-py2.7.egg/z3c/autoinclude/zcml.py", line 51, in includeDependenciesDirective
info = DependencyFinder(dist).includableInfo(['configure.zcml', 'meta.zcml'])
File "/home/plone/.buildout/shared-eggs/z3c.autoinclude-0.3.7-py2.7.egg/z3c/autoinclude/dependency.py", line 26, in includableInfo
module = resolve(dotted_name)
File "/home/plone/.buildout/shared-eggs/zope.dottedname-4.2-py2.7.egg/zope/dottedname/resolve.py", line 39, in resolve
found = __import__(used)
File "/plone/buildout/lib/python2.7/site-packages/pip/__init__.py", line 45, in <module>
from pip.vcs import git, mercurial, subversion, bazaar # noqa
File "/plone/buildout/lib/python2.7/site-packages/pip/vcs/mercurial.py", line 9, in <module>
from pip.download import path_to_url
File "/plone/buildout/lib/python2.7/site-packages/pip/download.py", line 40, in <module>
from pip._vendor import requests, six
File "/plone/buildout/lib/python2.7/site-packages/pip/_vendor/requests/__init__.py", line 98, in <module>
from . import packages
File "/plone/buildout/lib/python2.7/site-packages/pip/_vendor/requests/packages.py", line 12, in <module>
sys.modules['pip._vendor.requests.packages.' + mod] = sys.modules["pip._vendor." + mod]
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/plone/buildout/parts/instance/etc/site.zcml", line 15.2-15.55
ZopeXMLConfigurationError: File "/plone/buildout/parts/instance/etc/package-includes/002-bda.aaf.site-configure.zcml", line 1.0-1.56
ZopeXMLConfigurationError: File "/plone/buildout/src-aaf/bda.aaf.site/src/bda/aaf/site/configure.zcml", line 11.2-11.48
ZopeXMLConfigurationError: File "/plone/buildout/src-aaf/bda.aaf.site/src/bda/aaf/site/configure-dependencies.zcml", line 10.2-10.39
ZopeXMLConfigurationError: File "/plone/buildout/src-addons/plone.app.mosaic/src/plone/app/mosaic/configure.zcml", line 9.2-9.39
ZopeXMLConfigurationError: File "/home/plone/.buildout/shared-eggs/plone.app.tiles-3.0.3-py2.7.egg/plone/app/tiles/configure.zcml", line 18.2-18.41
ZopeXMLConfigurationError: File "/plone/buildout/src/plone.app.z3cform/plone/app/z3cform/configure.zcml", line 10.2-10.41
ZopeXMLConfigurationError: File "/plone/buildout/src/plone.app.widgets/plone/app/widgets/configure.zcml", line 12.2-12.41
ZopeXMLConfigurationError: File "/home/plone/.buildout/shared-eggs/Products.CMFPlone-5.1.0.1-py2.7.egg/Products/CMFPlone/configure.zcml", line 15.2-15.46
ZopeXMLConfigurationError: File "/home/plone/.buildout/shared-eggs/plone.app.contenttypes-1.4.9-py2.7.egg/plone/app/contenttypes/configure.zcml", line 10.2-10.37
KeyError: 'pip._vendor.urllib3.contrib'
ç§ãç解ããŠããéããpipãã€ã³ããŒãããã ãã§ïŒäœ¿çšããã«ïŒããã§ã«å£ããŠããŸãã ããã¯ãPythonã®åå°ã§ã®åžæ°ã®è¯ãè¡åã§ã¯ãããŸããã ããã®äœ¿çšããµããŒãããªã/ãããªãã¯APIãæäŸããªãããšã¯ã1ã€ã®ããšã§ãããå¥ã®ã€ã³ããŒããäžæããã ãã§ãã ããã¯ãå€ãã®èªåæ€æ»ã³ãŒãã«åœ±é¿ããŸãã
ãã®ããã«èããŠãã ãããpipã¯ã³ãã³ãã©ã€ã³ãŠãŒãã£ãªãã£ã§ãããã©ã€ãã©ãªã§ã¯ãããŸããã Pythonã§æžãããŠãããšããäºå®ã¯é¢ä¿ãããŸããã ãããåé¡ã®çŸå®ã§ãã
@pfmoore
ç§ã¯ããã§ã®æ¬²æ±äžæºãç解ããŠããŸãããç§ãã¡ãçŽæããªãã£ãããšã«ã€ããŠãããã¡ã³ãããŒãéé£ãã人ã ã®æ欲ã«ãŸããŸãæ©ãŸãããŠããŸãã
ãã®ããã«èããŠãã ãããpipã¯ã³ãã³ãã©ã€ã³ãŠãŒãã£ãªãã£ã§ãããã©ã€ãã©ãªã§ã¯ãããŸããã Pythonã§æžãããŠãããšããäºå®ã¯é¢ä¿ãããŸããã ãããåé¡ã®çŸå®ã§ãã
èå¿ãªã®ã¯ãããªããäœãçŽæãããã¯æ¬åœã«åé¡ã§ã¯ãªããšããããšã§ãã éèŠãªã®ã¯ãããªããäœããããããããŠçµæãšããŠçããç¶æ³ã¯äœã§ãããã§ãã å€åããªãã¯ãããã³ãã³ãã©ã€ã³ãŠãŒãã£ãªãã£ãšããŠèããŸããã ããããããªãã¯ãããã©ã€ãã©ãªãšããŠãªãªãŒã¹ããŸããã ãããåé¡ã®çŸå®ã§ãã
ããªãã¯æ©èœXãåããã©ã€ãã©ãªããªãªãŒã¹ããŸããã人ã ã¯æ©èœXã䜿ãå§ããŸããã確ãã«ãããªãã¯ãã¿ããªãæ©èœXã䜿ããªãã§ãã ããããšèšããŸããã ããããããªãã¯ãããæ©èœXã§ãªãªãŒã¹ãç¶ããŸãããäœå¹Žãã®éã ãããŠäººã ã¯ããã䜿ãç¶ããŸããã 倧å°ãåãããæ°åãããããæ°çŸãæ°åã®ãããžã§ã¯ããçŸåšããã䜿çšããŠããŸãã çªç¶ãé©åãªèŠåãªãã«ãã€ããŒã¢ããããŒãã§åé€ããŸãã
次ã«äœãèµ·ãããšæããŸããïŒ
çæçã«ã¯ãæ£åœãªçç±ããªãéããå€ãããŒãžã§ã³ãåºå®ããã ãã§ãåºå®ã解é€ããããšã¯ãããŸããã
é·æçã«ã¯...ãŸããããªããå£ãããã®ãã¹ãŠãä¿®æ£ãããããããªãã眮ãæããæ¹ãè²»çšå¹æãé«ããšå€æãã人ã®æ°ã«ãã£ãŠç°ãªããŸãã
@pfmooreäžèšã§åç §ãããã¬ãŒã¹ããã¯ã«çããããã®ããããŸããïŒ AFAIKã®å éšãããã¯äœ¿çšãããŸããã ã»ãšãã©ã®äººãDockerã³ã³ããå ã§ãã®åé¡ãæ±ããŠããã®ã¯èå³æ·±ãããšã§ãã
@ãã¹ãŠãå£ããã³ãŒãã§ã¡ã³ãããéé£ããŠããåé¡ã®è§£æ±ºã«ã¯åœ¹ç«ã¡ãŸããã
ãã®ããã«èããŠãã ãããpipã¯ã³ãã³ãã©ã€ã³ãŠãŒãã£ãªãã£ã§ãããã©ã€ãã©ãªã§ã¯ãããŸããã Pythonã§æžãããŠãããšããäºå®ã¯é¢ä¿ãããŸããã ãããåé¡ã®çŸå®ã§ãã
äºå®ïŒäœããã®çç±ã§ã³ãŒããèªåæ€æ»ããŠãã€ã³ããŒããããå Žåãã€ã³ããŒãã§ããŸããïŒãã¹ãŠãå£ããŠããŸãã ããã¯@thetã®å Žåã«èµ·ãããšæããŸãã
çµè«ïŒpipã¯ãããã±ãŒãžãã€ã³ã¹ããŒã«ããã°ããŒãã«ãŸãã¯çŸåšã®virtualenv / venvPythonåå空éããèªèº«ãåé¢ããå¿
èŠããããŸãã ããããã°ãããã¯ãããæ±æãããå¶ç¶ã«èŒžå
¥ãããèµ·ãããŸããã
ãŸã第äžã«ãç§ãã¬ãã®ã¡ã³ããã誀ã£ãã³ãŒãã§éé£ããå Žåã¯ç³ãèš³ãããŸããã ã©ããªéé£ã欲æ±äžæºãããªãããŸããããããŠããããã£ããšããŠããIMHO 9.0.2ãªãªãŒã¹ãsemverããããªãªãŒã¹ã®å®çŸ©ã«ãããã®ã§ãããšããäºå®ãææããŸãïŒ @pfmooreã¯pipãå¿ ãããsemverã䜿çšããŠããªãããšãæããã«ããŸãã-å¥ã®æ¥ã®å¥ã®åé¡ã ãšæããŸãïŒã
@ MikeHart85
çæçã«ã¯ãæ£åœãªçç±ããªãéããå€ãããŒãžã§ã³ãåºå®ããã ãã§ãåºå®ã解é€ããããšã¯ãããŸããã
é·æçã«ã¯...ãŸããããªããå£ãããã®ãã¹ãŠãä¿®æ£ãããããããªãã眮ãæããæ¹ãè²»çšå¹æãé«ããšå€æãã人ã®æ°ã«ãã£ãŠç°ãªããŸãã
ããªãã ã€ãŸããJavaScriptããã±ãŒãžãããŒãžã£ãŒãèŠãŠãã ããïŒnpmãbowerãyarnãæ¥é±ã幎ãã«ãªãªãŒã¹ããããã®ã¯äœã§ã
ãããããã ãããããã®ãããžã§ã¯ãã§ã¯ãªããpipã¡ã³ãããéé£ããããšã¯åãå ¥ããããŸããã ç§ãã¡ã¯ããªããå©ããããšããŠããŸããããããã®ãããžã§ã¯ããäœããããã«ã€ããŠè²¬ä»»ãè² ãããšã¯ã§ããŸããã 圌ããšããªãã®äžæºãæŸæ ããŸãã
ãã®åé¡ã«é¢ããç§ã®ïŒç§ãã¡ã®ïŒïŒäžæºã¯èª€ã£ãæ¹åã«åããããŠããå¯èœæ§ãããããšãç解ããŠããŸãã ããããµãŒãããŒãã£ã®ã¡ã³ããã®ããã§ããããšãã ãã«ãçŽåŸãããã®ã¯æ¬åœã«é£ããããšãèªããªããã°ãªããŸãããã
èŠåãåºãããšããŸããã æ°ãæåã«ãç¥ãããéä¿¡ããç¶æ³ã説æããããã¥ã¡ã³ããè¿œå ããŸãã
ããã¯ããã9.0.2çšã§ããããããšãããã10çšã§ããïŒ pip 9.0.2ã®å Žåã Changelogã«ã¡ã¢ãããã°ãããšæããŸãã ãšã«ãããpip 10ã®éçºã«éåžžã«ç©æ¥µçã«åãçµã¿ã import pip
ã䜿çšããªãããšã«ã€ããŠã®ã¢ããŠã³ã¹ãéä¿¡ããŠããã ããããããšãããããŸãã ããã°ãç¶ããïŒ
éæšå¥šãè¿œå ããããšã¯ãpipèªäœããããã®èŠåãåãåºãã®ã§ãããªããææ¡ããã»ã©ç°¡åã§ã¯ãããŸããïŒãŸãã¯ãpipããããããªãã«ããæ¹æ³ããããä»ã®äººã¯ãããã³ããŒããã ãã§ã-ç§ãã¡ã¯ãã§ã«ã pip._internalãã€ã³ããŒãããŠãã ãããããããã°ããã®å€æŽã§ãããã£ããããããšã¯ãããŸããïŒã
ããã¯ããã»ã©é£ããããšã§ã¯ãªããšæããŸã...ããªãã¯ãã§ã«__init__.py
ã«ãããæã£ãŠããŸãïŒ
if __name__ == '__main__':
sys.exit(main())
ä»ãè¿œå ããã®ã¯ã©ãã§ããïŒ
if __name__ == '__main__':
sys.exit(main())
else:
logger.warning("You are importing PIP as a Python library. This behaviour is deprecated and should no longer be used. We will break the API with version 10.0!!!111eleven Please see https://pip.readthedocs.org/some_link_where_you_explain_this.html")
ç·šéïŒããã«ã€ããŠãå³å¯ãã«ãããå Žåã¯ãããã§äŸå€ãçºçãããåæ§ã®ã¹ããŒãã¡ã³ãããµãã¢ãžã¥ãŒã«ã«è¿œå ããããšãã§ããŸãã
人ã ããããåé¿ãããšããäºå®ã¯ãå¥ã®ãã®ã§ãã ã©ã€ãã©ãªãããã¯ãããå Žåã¯ããã€ã§ããªããŒã¹ãšã³ãžãã¢ãªã³ã°ã§ããŸãã ããªãã¯ãã€ã§ããããåé¿ããæ¹æ³ãèŠã€ããããšãã§ããŸãã ãã ããèšèšäžã®æ±ºå®ã®äžã§ããããåãå·»ããã¹ãŠã®æ¹æ³ãèæ ®ããå¿ èŠã¯ãããŸããã
é·æçã«ã¯...ãŸããããªããå£ãããã®ãã¹ãŠãä¿®æ£ãããããããªãã眮ãæããæ¹ãè²»çšå¹æãé«ããšå€æãã人ã®æ°ã«ãã£ãŠç°ãªããŸãã
ç§ã¯ãã€ããã®ãè åšããé¢çœããšæã£ãŠããŸãã ããã¯ããããã®ãããªãã®ã«è²»ããããåªåã®éãšãããå®éã«ã©ãã ãã®è²»çšãããããïŒãããŠå®éã«ããã«å¯ŸããŠæ¯æãããšãããšããªã人ãã©ãã»ã©å°ãªããïŒã«ã€ããŠã®æ ¹æ¬çãªèª€è§£ã䌎ããŸãã ããªãããã£ãšããŸãããããšæãããããã²ããããŠãã ãããç§ïŒãããŠç§ã¯ä»ã®äººãã¡ãæ³å®ããŠããŸãïŒã¯ãããæè¿ããŸãã éå»æ°å¹Žéããã®ãããªããšãèµ·ããããšãå¯èœã«ããããšãæ確ãªç®æšã®1ã€ãšããŠãæšæºã®ææžåãšèšèšã«å€å€§ãªåªåãæãããŠããŸããã
ãããã®ããšã«ã€ããŠã®èŠç¹ãä¿ã€ããšãéèŠã§ãã ãããŸã..15æªæºã§ããïŒ 20ïŒ ãããã©ã®ããã«åœŒããå£ãããã«ã€ããŠã³ã¡ã³ããã人ã ïŒãããã®ã¡ããªãã¯ã«ã¯åžžã«ãæ°·å±±ã®äžè§ãã®åé¡ããããŸããïŒãäžæ¹ãpip 9.0.2ã¯ãã§ã«éå»1é±éã§2çªç®ã«äœ¿çšãããã€ã³ã¹ããŒã©ãŒã§ãïŒãããååšããªãã£ãæ¥æ°ãæ°ããŸãïŒ forïŒããªãªãŒã¹ãããŠä»¥æ¥ãPyPIãã1700äžã®ãã¡ã€ã«ãããŠã³ããŒãããŠããŸãã æçµæ¥ãèŠããšãPyPIã§æã䜿çšãããŠããã€ã³ã¹ããŒã©ãŒãšããŠpip 9.0.1ãè¿œãæãæ¹æ³ã®80ïŒ ã§ãã
ã§ãããããããäžéšã®äººã ã«ãšã£ãŠã¯åé¡ãåŒãèµ·ãããããšãç§ã¯èªèããŠããŸããããµããŒããããŠããªãããšããŸãã¯ããªããšããžã±ãŒã¹ã®ç¶æ³ã§è¡ã£ãŠããã®ã¯æ¯èŒçå°æ°ã®äººã ã§ãã
æéãèŠã€ããããšãã§ããã°ãäž»ã«@thetãã€ã³ããŒãããããšããŠããèªåã€ã³ããŒãæ©èœã§ãããå®éã«ã¯äœ¿çšããããšããŠããªãå Žåã解決ããããã«ã9.0.3ãã«ããããããšãããããããŸãããäœããã®æ¹æ³ã§pipã®å éšAPIã ãããpipã®å éšAPIã䜿çšããŠãã人ã ã®åäœã解決ããããšã«ãªã£ãå Žåãç§ã¯ããããå ·äœçã«å£ãããã«ç§ã®éªéãããã€ããã¯ãããŸããããããã§ãªãå Žåã¯ç§ãä¿®æ£ããããã«ç§ã®éªéãããã€ããã¯ãããŸããå ·äœçã«ã¯ã©ã¡ããã§ãã
ãã®æç¹ã§9.0.xããªãªãŒã¹ããã®ã«äœæéããããããšã«æ³šæããŠãã ããïŒãªãªãŒã¹ãè¡ãã«ã¯å€å°ã®æéããããã»ã©master
ã§åå²ããŠããŸãïŒããããã°ã«å¿
èŠãªæéã¯ã«ãŠã³ããããŸããå®éã®åé¡ãä¿®æ£ããŸãã ãããçºçããå¯èœæ§ãé«ãããå Žåã¯ããã®ãããã°ãšä¿®æ£ãè¡ãããããïŒãŸãã¯ç¬èªã®ãã©ãŒã¯ã®9.0.2ã¿ã°ããã®åå²ïŒãæäŸããããšãæåã®æ¹æ³ã§ãã
ãŸã第äžã«ãç§ãã¬ãã®ã¡ã³ããã誀ã£ãã³ãŒãã§éé£ããå Žåã¯ç³ãèš³ãããŸããã ã©ããªåçºã欲æ±äžæºãããªãããŸãã
ããããšãã ããã¯æ¬²æ±äžæºãé«ããç解ããŠããŸãã
ä»ãè¿œå ããã®ã¯ã©ãã§ããïŒ
è¯ãèãã§ã-å°ãåã«ããã«ã€ããŠèããŠãããããã£ãã®ã«ãšæããŸãã ãã¡ãããå éšåå空éã¯pip 10ã§åç·šæããããããä»ã¯æå³ããããŸãããæé ãã§ãã ç§ã¯ç¢ºãã«å°æ¥ã®ããã«ãã®ããªãã¯ãèŠããŠããŸãã
ããã¯ããã9.0.2çšã§ããããããšãããã10çšã§ããïŒ
10.0ã®å Žåã 9.0.2ããªãªãŒã¹ããåœåã®æå³ã¯ãããŸããã§ãããTLSã®å€æŽãæå¹ã«ãªã£ããšãã«MacOSã®ãŠãŒã¶ãŒãPyPIãžã®ãã¹ãŠã®ã¢ã¯ã»ã¹ã倱ãããšããªãããã«ãç·æ¥ãªãªãŒã¹ãšããŠã®ã¿ãªãªãŒã¹ããŸããã
@dstufftã¯ããã§ããå®å šã«å¿çããã®ã§ãããã¯ä»ã®ãšãã解決ãããå¯èœæ§ãé«ããšæããŸãã
ç§ã¯ãã€ããã®ãè åšããé¢çœããšæã£ãŠããŸãã
ããã¯ãŸã£ããè åšã§ã¯ãããŸãããããããã®ããã«åºãããããªãã°ãè¬çœªããŸãã
ããã¯ããœãããŠã§ã¢ã®äžçã§éåžžã«é »ç¹ã«çºçããããšã«ã€ããŠã®èŠ³å¯ã§ãã 人ã ã¯ããªãã®çŽæãæå³ã«åŸããªãã 人ã ã¯ããªããæäŸãã補åãæ±ããŸãã ããªãã®è£œåãå€ãã®äººã ã«äŸåããããã«ãªãæ©èœãæã£ãŠãããªããããªãã¯ãã¯ã圌ãã®è¶³å ãããããåŒã£åŒµãã ãã§ã¯ãããŸããã ããããå Žåã圌ãã¯ããªãã®è£œåãå£ããŠãããšèŠãªãå§ããŸãã ããªããæäŸããå¯äžã®èª¬æãããŸãããšã«ãããããçŽæããããšã¯ãããŸãããã§ããå Žåã圌ãã¯ããªãã圌ãã®æžå¿µã責任ãšããŠèªãããããªãããšã«æ°ã¥ãå§ããŸãã
ãããå€ããã°å€ãã»ã©ã代æ¿æ¡ã«å¯Ÿãã欲æ±ãšéèŠã¯å€§ãããªããŸãã 確ãã«ã人ã ã¯ããã«ãããäœæ¥éãéå°è©äŸ¡ããŠããŸãã ããããããã¯åœŒããããå€ããããå°ãªãã§ã¯ãªãã1ã€ã«åãçµã¿å§ããå¯èœæ§ãé«ããã ãã§ãã ãã®ããŒã«ã転ãããšãããã¯ããèªèº«ã®å¯¿åœãæã¡ãŸãã
代æ¿æ¡ã¯å¿ ãããè¯ãããšã§ã¯ãããŸããã 圌ãã¯ç©äºãä¹±éã«ããåŸåããããŸãã å人çã«ã¯ãåäžã®ããã±ãŒãžãããŒãžã£ãŒã奜ãã§ãã å šãŠã«ãããŠã ããããç§ã¯Pythonçšã®åäžã®ããã±ãŒãžãããŒãžã£ãŒãéžã³ãŸãã
æå³çã§ããããšãªããããšãæ©èœãå£ãããšäººã ãå ±åãããšãã¯ããããã¯ãã£ãšãµããŒããããŠããªãã£ãããšããæžå¿µãåŽäžããã®ã§ã¯ãªãããªããããå£ããªããã°ãªããªãã£ãã®ãããªããããç¶æã§ããªãã£ãã®ããç°¡åã«èª¬æããããšãæ€èšããŠãã ããã
ãã@dstufft ããã£ã€ã ãããŠãããŠããããšãããã®ã¹ã¬ããã¯ããªãç±ããªã£ãŠããŸãïŒ
ãŸãã¯ãä»äºããããšãããããŸãïŒ ã¡ã³ããã³ã¹ã¯çµããã®ãªãããããããä»äºã§ããããšãç§ã¯ç¥ã£ãŠããŸãããããŠããªããpip
ã®ããã«å€§ãããŠäººæ°ã®ãããããžã§ã¯ãã管çãããšãã ããããã¯æªåãããšæããŸãïŒ
ããŠãåœé¢ã®åé¡ã«ã€ããŠïŒãããŸã§ã«20人ã®_maintainers_ããã®åé¡ãå ±åããŸããããããã¯ãã§ã«æ°å人ã®_people_ã«åœ±é¿ãåãŒããŠããããšãç§ã¯ç¥ã£ãŠããŸã-圱é¿ãåãããããžã§ã¯ãã®ããã€ãã¯ããèªäœã§å€§èŠæš¡ã§ãïŒAnacondaãOpenStackãSpaCyãZappaããããŠäœäžäººãã®ãŠãŒã¶ãŒã ç§ãã¡ã®Slackãã£ã³ãã«ã¯ããã«ã€ããŠã®è°è«ã§æº¢ããŠããŸãã ïŒæåéãããããå ¥åããŠãããšãã«ãæ°ããåé¡ãçºçããŸãããïŒ
æããã«ãããã°ã©ã ã§ç°å¢ãæ€æ»ããæ©èœãå¿ èŠãšããå€ãã®éèŠãªPythonãããžã§ã¯ãããããŸãã ããã¯ãå®è¡ã§ããããã«ããå¿ èŠãããå®å šã«åççãªããšã§ãã ããã«ãããã¥ã¡ã³ãã¯ãããè¡ãããšã«å¯ŸããŠèŠåããããšã¯ãããŸãã-ãããŠããã§ãèŠåããŸããïŒ ïŒãã®ãªããžããªã®READMEããããã¥ã¡ã³ãã®ãªã³ã¯ãã¯ãªãã¯ããŠãã ããïŒïŒ
ãããŸã§ã®ç¶æ³ã¯æ¬¡ã®ãšããã ãšæããŸãã
import pip
ãåŒã³åºãã ãã§ãããã°ã©ã ãããã«å£ããŸããããã¯ãéçºè
ã«ãšã£ãŠéåžžã«æµå¯Ÿçã§ããpip
ã䜿çšããããšã«å¯ŸããŠèŠåããŸããïŒãããŠ_ãŸã _ããŸãã-ãã®ãªããžããªã®READMEã®ããã¥ã¡ã³ããªã³ã¯ãã¯ãªãã¯ããŸãïŒãimport pip
ãPATCH
ã¢ããããŒãã§ãã®æ害ãåŒãèµ·ãããšããçºè¡šã¯ãããŸããã§ãã-ãã®çºè¡šã¯_ãŸã ãªãªãŒã¹ãããŠããªã_ããŒãžã§ã³ã«å¯ŸããŠè¡ãããŸãããPATCH
ãæ¬åœã«æ¬²ããã§ãïŒpip> = 10.0.0ã®äžçã§ç°å¢ãããã°ã©ã ã§æ€æ»ããæ¹æ³ã®å¿ èŠæ§ã¯å¥ã®è°è«ã®ãããã¯ã§ãããåœé¢ã®åé¡ã®äºå®ã¯ãpipã§ããã°ã©ã ã§pipã䜿çšããã¹ãã§ã¯ãªããšèšãããããšããªããšããããšã§ãã <= 9ã®äžçã§ãããäºåãªãã«å€§èŠæš¡ãªå€æŽããããŸãããäœå人ãã®äººã ã«æªåœ±é¿ãåãŒããŠããããããããé転ããããšãæ¬åœã«æãã§ããŸãã
å床ãæè¬ããŸãã
ãªãã
ãŸã第äžã«ïŒãããžã§ã¯ãå ã§ã®åœŒãã®åªåãšæŽå¯ã«ãããã¡ã³ãããŒã§æè¬ããŸãã ããã¯ä»ã®äººãåé¡ãç解ããã®ã«æ¬åœã«åœ¹ç«ã€ãšæããŸãïŒããã«ã€ããŠã®èŠçŽããã°èšäºãæžã䟡å€ããããããããŸãããïŒã
@dstufft
ãããã®ããšã«ã€ããŠã®èŠç¹ãä¿ã€ããšãéèŠã§ãã ãããŸã..15æªæºã§ããïŒ 20ïŒ ãããã©ã®ããã«åœŒããå£ãããã«ã€ããŠã³ã¡ã³ããã人ã ïŒãããã®ã¡ããªãã¯ã«ã¯åžžã«ãæ°·å±±ã®äžè§ãã®åé¡ããããŸããïŒãäžæ¹ãpip 9.0.2ã¯ãã§ã«éå»1é±éã§2çªç®ã«äœ¿çšãããã€ã³ã¹ããŒã©ãŒã§ãïŒãããååšããªãã£ãæ¥æ°ãæ°ããŸãïŒ forïŒããªãªãŒã¹ãããŠä»¥æ¥ãPyPIãã1700äžã®ãã¡ã€ã«ãããŠã³ããŒãããŠããŸãã æçµæ¥ãèŠããšãPyPIã§æã䜿çšãããŠããã€ã³ã¹ããŒã©ãŒãšããŠpip 9.0.1ãè¿œãæãæ¹æ³ã®80ïŒ ã§ãã
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³/ããªããªãŒã·ã¹ãã ããã®ãã¹ãŠã®èªååãããpip install pip --upgrade
ã³ãã³ãã«ãã£ãŠã¡ããªãã¯ã倧ããåã£ãŠãããšç¢ºä¿¡ããŠããŸãïŒãã£ãã·ã¥ã䜿çšããå¿
èŠããããããåžžã«pypiããããã±ãŒãžãåã€ã³ã¹ããŒã«ããå¿
èŠã¯ãããŸãããåæã«ã import pip
ãå®è¡ããã¹ãã§ã¯ãããŸãã...ãããITã®äžçã®ä»çµã¿ã§ãïŒã
15人æªæºãããã«ã€ããŠäžæºãèšã£ãŠãããšããäºå®ã¯ã2ã€ã®ããšã瀺ããŠããã¯ãã§ãïŒ
ãšã«ããããã®åé¡ã«ã€ããŠè©±ãããè°è«ãããããããšã§ãå éšAPIã«äŸåããŠã¯ãªããªãçç±ã瀺ãè¯ãäŸãåŸãããŸãããµãŒãããŒãã£ã®ããã±ãŒãžã¡ã³ããããããã§è©±ãåã£ãããšãçç±ã«ãããžã§ã¯ããæŽæ°ããããšãé¡ã£ãŠããŸãã
æããã«ãããã°ã©ã ã§ç°å¢ãæ€æ»ããæ©èœãå¿ èŠãšããå€ãã®éèŠãªPythonãããžã§ã¯ãããããŸãã ããã¯ãå®è¡ã§ããããã«ããå¿ èŠãããå®å šã«åççãªããšã§ãã ããã«ãããã¥ã¡ã³ãã¯ãããè¡ãããšã«å¯ŸããŠèŠåããããšã¯ãããŸãã-ãããŠããã§ãèŠåããŸããïŒ ïŒãã®ãªããžããªã®READMEããããã¥ã¡ã³ãã®ãªã³ã¯ãã¯ãªãã¯ããŠãã ããïŒïŒ
ãªãããã«å¯ŸããŠèŠåããªããã°ãªããªãã®ãç§ã«ã¯ããããŸããã ã³ãã³ãã©ã€ã³ããŒã«ä»¥å€ã®ãã®ãšããŠã®pip
ã®äœ¿çšã¯ãå®å
šã«ææžåãããŠããŸããã ããã¥ã¡ã³ããæ€çŽ¢ãããšãpipã®ã€ã³ããŒããžã®åç
§ããŸã£ãã衚瀺ãããŸããã Chromeã§äœ¿çšãããŠãã.so
ã«ãªã³ã¯ããŠããŠãABIã®äºææ§ã倱ãããŠãããããäžå¹³ãèšã£ãŠãããããªãã®ã§ãã
SemVerã®éåžžã®è§£éã¯ãããã¥ã¡ã³ãåãããŠããªãå
éšã§ã¯ãªãããµããŒããããŠãããããªãã¯ã€ã³ã¿ãŒãã§ã€ã¹ïŒãã®å Žåã¯CLIïŒã«é©çšããããšãããã®ã§ãã å
éšã䜿çšãã人ã¯ãä»»æã®å€æŽã®å¯Ÿè±¡ãšãªãããããšã«ããpip
ããŒãžã§ã³ãåºå®ããå¿
èŠããããŸãã
æ¬åœã«é転ãããã®ã¯äœããããŸããã è¿ãå°æ¥ãmacOSã®ããªãã®æ°ã®ãŠãŒã¶ãŒãPyPIã«ã¢ã¯ã»ã¹ã§ããªããªãã®ãé²ãããã®ããã¯ããŒãä¿®æ£ã«ã¯ããµããŒããããŠããªãæ¡ä»¶äžã§ã®ã¿è¡šçŸãããããã«èŠãã9.0.xã³ãŒãããŒã¹ã«é©çšãããå Žåã®ãã°ããããŸãã åé²ããå¯äžã®éã¯ã9.0.xã·ãªãŒãºã®ãã®ãã°ã解決ããããã«è¿œå ã®äœæ¥ãè¡ãããšã§ãã ç§ãèšã£ãããã«ãç§ãæéãèŠã€ããããšãã§ããã°ç§ã¯ãããããããšããŸããããªãããããèµ·ããå¯èœæ§ãé«ããããªããããããããããæäŸããŠãã ããã
pipã§å®è¡ã§ããå¯èœæ§ãããããµããŒããããŠããªãããšã®å®å šãªãªã¹ããæäŸããããšã¯äžå¯èœã§ãããããããã¥ã¡ã³ãã¯ããã«å¯ŸããŠèŠåããŠããŸããã 代ããã«ããµããŒããããŠãããã®ãææžåãããšããããªãäžè¬çãªã¢ãããŒãã«äŸåããŠãããææžåãããŠããªããã®ã¯ãã¹ãŠãµããŒããããŠããªããšèŠãªãå¿ èŠããããŸãïŒææžåãããŠããªããã®ã«äŸåãããå Žåã¯ãææžåããŠãµããŒãããããã«æ±ããåé¡ãçºçããŸãïŒã
é·æçã«ã¯ãç§ãã¡ãsemverã§ãããã©ããã«ã€ããŠã®æ··ä¹±ãïŒããŸãããã°ïŒåãé€ãããã«ãæ¥ä»ããŒã¹ã®ãªãªãŒã¹ã¹ããŒã ã«ç§»è¡ããå¯èœæ§ããããŸãã
ç§ã®iPhoneããéä¿¡ããã
2018幎3æ20æ¥åå11:02ã«ãRichJonesã®[email protected]ã¯æ¬¡ã®ããã«æžããŠããŸãã
ãã@dstufft ããã£ã€ã ãããŠãããŠããããšãããã®ã¹ã¬ããã¯ããªãç±ããªã£ãŠããŸãïŒ
ãŸãã¯ãä»äºããããšãããããŸãïŒ ã¡ã³ããã³ã¹ã¯çµããã®ãªãããããããä»äºã§ããããšãç§ã¯ç¥ã£ãŠããŸãããããŠããªãããããã®ããã«å€§ãããŠäººæ°ã®ãããããžã§ã¯ãã管çãããšãã ãããã¯æªåãããšæããŸãïŒ
ããŠãç®åã®åé¡ã«ã€ããŠïŒãããŸã§ã«20人ã®ã¡ã³ããããã®åé¡ãå ±åããŠããŸãããããã¯ãã§ã«äœå人ãã®äººã ã«åœ±é¿ãåãŒããŠããããšãç§ã¯ç¥ã£ãŠããŸã-圱é¿ãåãããããžã§ã¯ãã®ããã€ãã¯ããèªäœã§å€§èŠæš¡ã§ãïŒAnacondaãOpenStackãSpaCyãZappaããããŠäœäžäººãã®ãŠãŒã¶ãŒã ç§ãã¡ã®Slackãã£ã³ãã«ã¯ããã«ã€ããŠã®è°è«ã§æº¢ããŠããŸãã ïŒæåéãããããå ¥åããŠãããšãã«ãæ°ããåé¡ãçºçããŸãããïŒ
æããã«ãããã°ã©ã ã§ç°å¢ãæ€æ»ããæ©èœãå¿ èŠãšããå€ãã®éèŠãªPythonãããžã§ã¯ãããããŸãã ããã¯ãå®è¡ã§ããããã«ããå¿ èŠãããå®å šã«åççãªããšã§ãã ããã«ãããã¥ã¡ã³ãã¯ãããè¡ãããšã«å¯ŸããŠèŠåããããšã¯ãããŸãã-ãããŠããã§ãèŠåããŸããïŒ
ãããŸã§ã®ç¶æ³ã¯æ¬¡ã®ãšããã ãšæããŸãã
ããŒãžã§ã³æååã®åœ¢åŒãèãããšãpipã¡ã³ããã¯ã»ãã³ãã£ãã¯ããŒãžã§ãã³ã°ã«åŸã£ãŠãããšç§ãã¡ã¯çä¿¡ããŠããŸãã
ãããã¡ã³ããã¯ãå€§å¹ ãªå€æŽãå°å ¥ãããããããããªãªãŒã¹ããŸãã
ãã®å€æŽã¯çºè¡šãææžåããããŠããŸããã§ãã-ãããŠç§ã¯ãäºæãã¬ãæå³ããªããã®ã ãšæããŸã
çŸåšãimport pipãåŒã³åºãã ãã§ãéçºè ã«ãšã£ãŠéåžžã«æµå¯Ÿçãªããã°ã©ã ãããã«äžæãããŸãã
ããã¯ãPythonãšã³ã·ã¹ãã å šäœã§å€§ããªé çã®çš®ãåŒãèµ·ãããŠããŸã
ããã¥ã¡ã³ãã¯ãããã°ã©ã ã§pipã䜿çšããããšã«å¯ŸããŠèŠåããŠããŸããïŒãããŠããŸã ããŠããŸãã-ãã®ãªããžããªã®READMEã®ããã¥ã¡ã³ããªã³ã¯ãã¯ãªãã¯ããŠãã ããïŒã
import pipãPATCHã¢ããããŒãã§ãã®æå·ãåŒãèµ·ãããšããçºè¡šã¯ãããŸããã§ãã-ãã®çºè¡šã¯ããŸã ãªãªãŒã¹ãããŠããªãããŒãžã§ã³ã«å¯ŸããŠè¡ãããŸããã
ãã®å€æŽã¯ãå€æŽãã°ã«ãèšèŒãããŠããŸããã§ãã
pipãpipéçºè ã眮ãæããããããŸããïŒ ç§ãã¡ã¯ããªããæããŠãŸãïŒ
..ãããããã®çš®ã®ããšãäºåºŠãšèµ·ãããªãããã«ããããšæããŸãã
..ã ããç§ãã¡ã¯semverãç¶ãããšãæãã§ããŸãïŒ
ãã®å€§ããªé倧ãªå€æŽãå ã«æ»ãå¥ã®ããããæ¬åœã«æ¬åœã«æ¬²ããã§ãïŒ
pip> = 10.0.0ã®äžçã§ç°å¢ãããã°ã©ã ã§æ€æ»ããæ¹æ³ã®å¿ èŠæ§ã¯å¥ã®è°è«ã®ãããã¯ã§ãããåœé¢ã®åé¡ã®äºå®ã¯ãpipã§ããã°ã©ã ã§pipã䜿çšããã¹ãã§ã¯ãªããšèšãããããšããªããšããããšã§ãã <= 9ã®äžçã§ãããäºåãªãã«å€§èŠæš¡ãªå€æŽããããŸãããäœå人ãã®äººã ã«æªåœ±é¿ãåãŒããŠããããããããé転ããããšãæ¬åœã«æãã§ããŸããå床ãæè¬ããŸãã
ãªããâ
ããªããèšåãããã®ã§ãããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããããã¹ã¬ããããã¥ãŒãããŠãã ããã
@Miserlou
ããŒãžã§ã³æååã®åœ¢åŒãèãããšãpipã¡ã³ããã¯ã»ãã³ãã£ãã¯ããŒãžã§ãã³ã°ã«åŸã£ãŠãããšç§ãã¡ã¯çä¿¡ããŠããŸãã
semverã«åŒ·ãå察ããŠãã人ãšããŠããã®æ··ä¹±ããªããããã«ç§ã®ããŒãžã§ã³æååãã©ã®åœ¢åŒã«ããã¹ããæããŠããã ããŸããïŒ ã3ã€ã®ç¹ç·ã®æ°åãã¯ãç§ã«ãšã£ãŠãå³å¯ã«semverã«åŸããããšãæå³ãããã®ã§ã¯ãªãã®ã§ããã®ä»®å®ã¯é©ãã§ãã
ãã®ã³ã¡ã³ããžã®å¿çïŒpipãsemverã«æºæ ããŠãããã©ããããŸãã¯æºæ ããããšãçŽæããŠãããã©ããã«ãããããã major.minor.micro
ããŒãžã§ã³ç®¡çã¹ããŒã ã®äœ¿çšã¯ããã€ã¯ããªãªãŒã¹ã«é¢ããäœããã®å¶éã®æé»ã®çŽæãäŸç¶ãšããŠå®è¡ããŸãã ~= 9.0.1
ã®ãããªäºææ§ã®ãããªãªãŒã¹ãã³ã§ã¯ãäžäœäºææ§ã®äºæããªãäžæãããŠãŒã¶ãŒãä¿è·ããã®ã«ååã§ãªãå Žåãæ®ã£ãŠããå¯äžã®å®å
šãªä»£æ¿æ段ã¯ããã¬ãŒã³ããŒãžã§ã³ãããã³ã°ã§ãã ããŒãžã§ã³ãããã³ã°ä»¥å€ã®ãã®ããµããŒãããæå³ããªãå Žåãpipã¯ãå調ã«å¢å ããã³ã³ããŒãã³ãã1ã€ãããªãChromeã¹ã¿ã€ã«ã®ããŒãžã§ã³ã¹ããŒã ã«åãæ¿ããããšãã§ããŸãã
ç·šéïŒ @dstufftã¯ãæ¥ä»ããŒã¹ã®ããŒãžã§ã³ãæ¡çšããããšã§ããã®æ¹åãžã®ç§»è¡ããã§ã«ææ¡ããŠããããšãããããŸãã ããã¯ãä»åã®äºä»¶ã«ããäºæ¬¡ç被害ã®äžå¹žãªéšåã ãšæããŸãã
ããã§ãããã©ã³ãã£ã¢äž»å°ã®ãœãããŠã§ã¢ãããžã§ã¯ãã®ãŠãŒã¶ãŒãšããŠããŠãŒã¶ãŒãšä¿å®è
ã®é¢ä¿ã®æ§è³ªã«å¯ŸããæåŸ
ãšæåŸ
ã®ãã©ã³ã¹ããšãå¿
èŠããããŸãã ãŸãããã®ãªãªãŒã¹ãimport pip
ãçªç¶å€±æãããããšãæå³ããŠããªãããšãæããã§ãã äžæ¹ã§ããã€ã¯ããªãªãŒã¹ã§ãã®çš®ã®ãªã°ã¬ãã·ã§ã³ãçºçããããšã«äººã
ãäžæºãæããã®ã¯åççã ãšæããŸããåé¡ãä¿®æ£ãã9.0.3ããŒãžã§ã³ããªãªãŒã¹ããããšã¯ãåççãªææžçã®ããã§ãã
äœè«ã§ããã次ã®æé ã§ãvirtualenvïŒ2ãŸãã¯3ãããã¯åé¡ã§ã¯ãããŸããïŒã§ãããåçŸã§ããŸãã
virtualenv -p python3 /tmp/pip
/tmp/pip/bin/pip install -e path/to/clone/of/pip/9.0.2
/tmp/pip/bin/pip install requests
/tmp/pip/bin/python
次ã«ãPythonã·ã§ã«å ã§ïŒ
>>> import requests
>>> import pip
ãªã¯ãšã¹ãããŸã ã€ã³ããŒããããŠããªãå Žåã import pip
æåããŸãã
äžäœäºææ§ã®äºæããªãäžæ
import pip
ããäžäœäºææ§ã®çŽæã«è©²åœããå®å®ããAPIã§ãããšææžåãããŠããå ŽæãæããŠãã ããã ç§ãã¡ã¯ãã®äœ¿çšã匷ããµããŒãããŠããªãã®ã§ããã®ãããªããã¥ã¡ã³ããåé€ããããšã確èªããããšæããŸãã
ãµããŒããããŠããªãããã¹ããããŠããªã䜿çšã§ãã£ãŠãã絶察ã«æçåå²ç¹ããªããšããæèŠããªãéãã ãã®å Žåããããã==
ãåºå®ããå¿
èŠããããŸããããã¯ããã®æç¹ã§äœã䜿çšããŠããã®ããå®å
šã«ããããããã¹ãŠã®å€æŽã誰ãã«ãšã£ãŠé倧ãªå€æŽã«ãªãå¯èœæ§ãããããã§ãïŒå¿
é ã®xkcd ïŒã
pip
ã¯Pythonã®ããã±ãŒãžãããŒãžã£ãŒã§ãã Pythonã¯ããã°ã©ãã³ã°èšèªã§ãã 人ã
ã¯ããã°ã©ã ã§ç°å¢ãæ€æ»ããå¿
èŠããããŸãã 1 + 1 = 2ã
ãããæ£ããæ¹æ³ã§ãããšäººã ãèããã®ã¯å®å šã«åççã§ããã ããã¥ã¡ã³ãã«ã¯ããããè¡ãããã«_ããªã_ãšæžãããŠãããã®ã¯ãããŸããã§ããã 念ã®ããããããšåãçµè«ã«éãã70äžãè¶ ããã¢ããªã±ãŒã·ã§ã³ããããŸãã ãŸããä»ã«æ¹æ³ã¯ãããŸããã
ReadTheDocsã«ææžåãããŠããªããããšãã£ãŠããããçŠæ¢ãããŠããããã§ã¯ãããŸãããç§ãã¡ã¯çããã®æ¹æ³ã§ã³ãŒããæäŸããã ãã®ãããžã§ã¯ãã«æ¯æ¥ééãã䜿çšããŠããŸãã
ã©ã¡ãããšããã°ã pip
ã§ããã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ãæã£ãŠãããšããäºå®ã¯ããã§ã«Pythonã¯ã©ã€ã¢ã³ããæã£ãŠããã®ã§ãã©ã€ãã©ãªãšããŠäœ¿çšã§ããããšã瀺ãè¯ãå
åã®ããã§ãã
ããã«ãæ
£äŸã®ããã«_
ã§åå空éãèšå®ããããã©ã€ããŒãAPIããç¹å®ã®ãããªãã¯ã¡ãœããã«ã€ããŠè©±ããŠããã®ã§ã¯ãªãããã®å£æ»
çãªå€±æãåŒãèµ·ãã_importãåŒã³åºãã ã_ã«ã€ããŠè©±ããŠããã ãã§ãã
ããã¥ã¡ã³ãã«ã¯ããããè¡ããªãããã«ãšèšã£ãŠãããã®ã¯ãããŸããã§ããã
https://pip.pypa.io/en/latest/user_guide/#using -pip-from-your-program
_this very repo_ã®[Docs]ãªã³ã¯ãã¯ãªãã¯ããŠãããã®ããŒãžã«ã¯ã¢ã¯ã»ã¹ã§ããŸããã 誰ãææ°ã®ãã®ãåç §ããŠããŸããã ããã¥ã¡ã³ããžã®ç¬èªã®ãªã³ã¯ã¯ãææ°ã®ãã®ã«ã¯ãªã³ã¯ããŠããŸããã ãã®ããŒãžã«ã¢ã¯ã»ã¹ããæ¹æ³ã¯ãããŸããã ãã¹ãŠãå®å®ããŸããããã®ã»ã¯ã·ã§ã³ã¯å«ãŸããŠããŸããã
@Miserlouã¡ã¢ã¯ãPythonã§å®è£ ãããŠããããããã®å éšãã€ã³ããŒãå¯èœã§ãããšããçç±ã ãã§ãã³ãã³ãã©ã€ã³ããŒã«ã®å éšãã€ã³ããŒãããå¿ èŠããããšã©ããããããèããŠãã人ã«ãšã£ãŠã¯èŠªåã ãšæããŸãã
pip
ã®ãããªãã¯ã€ã³ã¿ãŒãã§ã€ã¹ã®è§£éã¯ãç§ãéçºè
ãããã³pip
ãCLIããã°ã©ã ãšèããã»ãšãã©ã®äººãšã¯ç°ãªããšæããŸãããããã®å®éã®å®³ã¯äœã§ããïŒ pip != 9.0.2
ãåºå®ããã ãã§ãããã§çµããã§ãã
ãµããŒããããŠãããããªãã¯APIã®äžéšã§ãããã©ããã«ã€ããŠããã®æç¹ã§ç§ãã¡å šå¡ãåãããŒãžã«ããããšã¯æããã§ãããŸããäœãšãããŠãã¹ãŠã®äººã«ããã®ãŒã£ãŠéç¥ããããã«ä»ã§ããããšã¯äœããããŸããã
æ£çŽãªãšãããpipã®ã¡ã³ããã¯ãæéãèš±ãã°ãã®åé¡ãä¿®æ£ããããšãããšãã§ã«è¿°ã¹ãŠããŸãããã¹ããŒããäžããããã«ãã«ãªã¯ãšã¹ããæåºããããšããå§ãããŸãã
ä»ã®ãšããç§ãã¡ã«ã§ããããšã¯ããµãŒãããŒãã£ã®ã©ã€ãã©ãªã«ãã®åé¡ãèªèããããã®åé¡ãææããããšã ãã ãšæããŸãã é·æçãªãµãŒãããŒãã£ã©ã€ãã©ãªã¯ããšã«ãããã®åé¡ãä¿®æ£ããå¿
èŠããããŸããã§ããã°ã import pip
ã§ã¯ãªããã³ãã³ãã©ã€ã³ããïŒãµãããã»ã¹ãŸãã¯åæ§ã®Pythonã³ãã³ãã䜿çšããŠïŒpipãåŒã³åºãæ¹æ³ã§ä¿®æ£ããå¿
èŠããããŸãã
ç§ã¯ããã®è°è«ãçç£çã§ããå¯èœæ§ã¯äœããå®éã«èšãã¹ãããšã¯äœããªããšä¿¡ããŠããŸãã æãïŒ
9.0.3
ãååšããå¯èœæ§ãé«ãããå Žåã«å®è¡ã§ãããè¡åã®åŒã³ããããã®æç¹ã§ã®è°è«ã¯ãé¢ä¿è å šå¡ãããã«èç«ãããããšãé€ããŠãæ¬åœã®ç®çã«ã¯åœ¹ç«ããªãã®ã§ãç§ã¯ä»ã®ãšãããã®åé¡ãããèŸåãããŠããŸãã ãã®åé¡ã¯ã10.0ãŸãã¯9.0.3ã®ãªãªãŒã¹æã«ã¯ããŒãºãããŸãã 誰ããå¬åç¶ã«åãå ¥ããŠããå Žåã¯ããã«ãªã¯ãšã¹ããéããããã®åé¡ã«é¢ããå·®åãéä¿¡ããŠãã ããã
ãã®do-not-import-pipã®ãã³ãã©ãããèŠãããããããã«ãåå空éã®ååãã_pipãã«å€æŽããã®ã¯ã©ãã§ããããã ããã¯ãå
šäœãååã¬ãã«ã§å
¬éãããŠããªãããšã瀺ããŠããŸãã
ãŸããã¢ã³ããŒã¹ã³ã¢ã§å§ãŸããã®ãèŠãªãããã«èªåæ€æ»ã³ãŒãã«æ瀺ããæ¹ãç°¡åã§ãã ãŸããåŸè
ãé¢äžæ€æ»ã³ãŒãã®å€æŽãå¿
èŠã«ãªããŸãã ããããå°ãªããšãããã©ãã¯ãªã¹ãã管çããã«ïŒæ
£äŸã«ããïŒèªååããæ©äŒããããŸãã
ããŠãæåŸã«èªããŸããpip10ã¯ãé¢é£ãããã¹ãŠã®ã³ãŒãããã§ã«pip._internal
ã«ç§»åããŸããïŒãµããŒããããŠããpython -m pip
ãç Žæããããã _pip
ã¯äœ¿çšããŸããã§ããïŒã
https://github.com/pypa/pip/pull/5100ãããã解決ãããã©ããã誰ãã確èªã§ããŸããïŒ
ïŒ5100ãééã£ãŠãããšæããŸããã代ããã«https://github.com/pypa/pip/pull/5101ã確èªããŠãã ããã
@dstufft確èªã§ããŸããããïŒ5101ã®ä¿®æ£ã§åé¡ã解決ããŸããã
ããã«å¯ŸåŠããããã«æéãå²ããŠãããŠããããšã@dstufft ã ç§ã¯AnacondaããŒã ãšååããŠãã®åé¡ãäŒããpipã®ã€ã³ããŒãããé¢ããã®ãæ¯æŽããŸãã
ãã®ã¹ã¬ããã®èšé²ã§ã¯ãïŒ5101ãç§ã®åé¡ã解決ããŸããã
åäžãïŒ5101ã䜿çšãããšãã€ã³ããŒããããŒã«å ã§æ©èœãããããšãã§ããŸãã èŠåãšã³ãã¿ãŒïŒããããé©çšããããããããŒã«ãåºç¯å²ã«ãã¹ãããŠããŸããã
ããã¯9.0.3ã§ä¿®æ£ãããã¯ãã§ãã
人çã§import pip
ãæžããããšã¯ãªãããæžããããã±ãŒãžã®æ¶è²»è
ã ã£ã人ããã®è¿
éãªè§£æ±ºã«æè¬ããŸãã ãã®ã¹ã¬ãããèªãã åŸãå€ãã®ã¢ããªãç¡æèã®ãã¡ã«ãã¹ããã©ã¯ãã£ã¹ã«åããŠãpipãã€ã³ããŒãããããã«èãããŸãããŸããå€ãã®éçºè
ãšãŠãŒã¶ãŒãv9.0.2ãšv10ã®åœ±é¿ãåããå¯èœæ§ããããŸãã
ç©äºãã¹ã ãŒãºã«ããããã«ã2çªç®/ 3çªç®/ Nçªç®ã«é©åãªéæšå¥šã®èŠåãè¿œå ãããŠããŸãã å€åpypi.python.orgã®æçš¿ã§ããïŒ
ãã£ããŒïŒ ãããããããšãïŒ
ãŸããéæšå¥šã®èŠåãããã«éèŠãªããšã«ãpip10ã®äžçã§Pythonç°å¢ãããã°ã©ã ã§æ€æ»ããæ¹æ³ã«ã€ããŠã®é©åãªæ瀺ã倧奜ãã§ãã 700,000ãè¶ ããã¢ããªã±ãŒã·ã§ã³ããã®ãã°ã®åœ±é¿ãåããããšãèãããšãæããã«ãã®å¿ èŠæ§ããããŸãã
pip list --format=json
ïŒ
ãŸããpipã®äººã ã«è²¢ç®ããŠãããŠããããšãããããŸããããã¯ãããã€ãã®ãŠãŒã¶ãŒãã¬ã³ããªãŒãªãªãã·ã§ã³ãšåŒæ°ã䜿çšããŠãç§ã®ãã¹ãŠã®ãŠãŒã¹ã±ãŒã¹ãå®å šã«ã«ããŒããŠããŸãã
ãã®ãé©ãã»ã©åºãæ¡çšãããæçšãªæªå®çŸ©åäœãã®ããã«ãgitã®libgit2ãšããŠpiplibãäœæããå¿ èŠããããŸããïŒ libgit2ã¯gitãšã³ãŒããå ±æããŠããããgitã®ä»ã®ã°ã«ãŒãã«ãã£ãŠç¶æãããŠããããšã«æ³šæããŠãã ããã ãããŠãããã¯gitãšã³ã·ã¹ãã ã«é©ããŠããŸãã ãã¶ããpiplibã¯ãç§ãã¡ãäºæããŠããªãã£ãããã€ãã®èå³æ·±ããŠãŒã¹ã±ãŒã¹ãã«ããŒããã§ãããã
åæ§ã®è©±ããããŸãïŒ https ïŒ//public-inbox.org/git/1267957655.3759.29.camel@mattotaupa/T/
@drunkwcodesããªããææ¡ãããã®ã¯ãpipããã¥ã¡ã³ãã«èšèŒãããŠããæ¢åã®ããã±ãŒãžã packaging
ã setuptools
ãããã³distlib
ã«ãã§ã«å®è£
ãããŠãããšæããŸãã ãã®ã¹ã¬ãããããããéããæ©èœã®ã®ã£ããã«åé¡ã¯ãããŸãããããã¹ãŠã®ã¢ãžã¥ãŒã«ãã€ã³ããŒãããŠæ€æ»ããã€ã³ããŒãã®å€±æãèŽåœçãªãšã©ãŒãšããŠæ±ãããŒã«ã«åé¡ããã人ãããŸãã
ãã®ãããªããŒã«ã¯ãimportã¹ããŒãã¡ã³ããtry / exceptionãããã¯ã§ã©ããããããšã§ãã®åé¡ãåé¿ã§ããããã«æãããŸããããããèšå®ããåäŸãšããŠã¯çãããããã§ãã ãã ããpip 9.0.3ã®ãªãªãŒã¹ãèãããšãpip 10ã§åé¡ãåã³çºçããªãéããã€ã³ããŒãã®åé¡ã«ã€ããŠè°è«ããæéã¯ãããã䟡å€ããªããšæããŸãããšã«ãããã¡ã³ãããéªéã«ãªããªãéãã import pip
ã倱æãããããã®ãããªå€±æãä¿®æ£ããããããç°¡åã«æåŠããå Žåãç«ã¡åããå
±éã®æ ¹æ ããããŸãã
@sruggierèšèŒãããŠããããã±ãŒãžã¯ãã¹ãŠåªããŠããã WheelFile.installïŒïŒã«ãããã«ããã¢ãŒã·ã§ã³ãå¿
èŠã§ãã ããããæäŸãããã¯ã³ã¹ããããµãŒãã¹pip.main()
ã¯ãäžèšã®ãã¹ãŠã§ããããã®ãªããã®ã§ãã ããã§ãè©Šã䟡å€ã¯ãããŸãã
æãéèŠãªããšã¯ããããã®ããŒãºãå¥ã®ãããžã§ã¯ãã«ãã£ãŠä¿æãããpip10ãè¿œå ã®ä¿èšŒãªãã§ã¹ã ãŒãºã«å°çããããšãé¡ã£ãŠããŸãã éæšå¥šãšã³ãŒãããŒã¹ã®æå°åã¯ãã¡ãžã£ãŒãªãªãŒã¹ã®èŠç¹ã§ãã
æ°žç¶çãªã€ã³ãã©ã¹ãã©ã¯ãã£ããœãããŠã§ã¢ãã®å ·äœçãªå®è£ ã®è©³çŽ°ã¯ã°ãããŠããŸãã ææžåãããèåŸ äºä»¶ã§ã¡ã³ãããå€æãããããã®èŒªãæããããšã¯ã§ããŸããã
pipãlibãšããŠäœ¿çšããããšã䞻匵ããå Žåã¯ãå€ãã®ä»®å®ãåæ€èšããå¿ èŠããããŸãã
@drunkwcodesæ確ã«ããããã«ã pip.main()
ã¯ã眮ãæããã®ãæãç°¡åãªäœ¿çšæ³ã§ããåã«subprocess.run([sys.executable, '-m', 'pip', <rest of args>])
ã䜿çšããå¿
èŠããããŸãã
ãŸãã WheelFile.install()
ã宣äŒãããªãçç±ã¯ãwheelãããžã§ã¯ãããŠãŒã¶ãŒã«è¡šç€ºãããAPIãæäŸããªããšè¿°ã¹ãŠããããã§ããæåã¯pipããã¥ã¡ã³ãã§wheelã«ã€ããŠèšåããŸãããããªã¯ãšã¹ãã«å¿ããŠåé€ããŸããã ãã€ãŒã«PEPã¯ããã€ãŒã«ã®åãä»ãæ¹æ³ã«ã€ããŠã¯ããªãæ確ã§ããããµãŒãããŒãã£ã®ã¢ãžã¥ãŒã«ã«å®è£
ããã®ã¯é£ãããããŸããã
çããããããã§è¡ã£ãŠããäœæ¥ã«æè¬ããŸããããã¯ç°¡åã§ã¯ãªãããšãç¥ã£ãŠããŸãã ããããèšé²ã®ããã«ïŒ
人ã ããŸã èŒžå ¥ãããããé¢ããŠããªãããšã«å°ããã£ããããŠããŸãã ãã®åé¡ã«èŠèããã人ã ã¯ããŸã ããã10ã®æºåãããå¿ èŠããããŸã
spaCyã¯import pip
ãã移åããŸããã ããããäžéšã®äººã
ã¯ãŸã spaCy 1ã䜿çšããŠããŸããããã¯pipãã€ã³ããŒãããŸãã---ãããŠæãããªçç±ã§ãpipãããããªãªãŒã¹ã«ãã³çãããŸããã§ããã å€æŽãv10ã§è¡ãããå Žåãå€ãããŒãžã§ã³ã¯åœ±é¿ãåããŸããã§ããã ããã«å¯ŸåŠããããã®ä¿®æ£ããã°ã©ã ãçºè¡ããŸããã
pip10ã®äžçã§Pythonç°å¢ãããã°ã©ã ã§æ€æ»ããæ¹æ³ã«é¢ããé©åãªæ瀺
distlibã«å¯ŸããPyPAã®ç«å Žã¯äœã§ããïŒ Pipã¯æããã«ããçšåºŠã®å®¹éã§ããã䜿çšããŠããŸãããdistlibãéæšå¥šãšç§°ããããã±ãŒãžã³ã°ã䜿çšããŠããŸãã
å ¬åŒã®ç«å Žããªãå Žåã¯ãå°ãªããšãpipã®ã³ã¢ã¡ã³ããããã®çŸåšã®èããæèŠãããã ããã°å¹žãã§ãã ãã®ãããã¯ã«é¢ããé¢é£ãããã£ã¹ã«ãã·ã§ã³ãä»ã®å Žæã«ããå Žåã¯ãä»ã®ãã£ã¹ã«ãã·ã§ã³ãžã®åçŽãªãã€ã³ã¿ã§ååã§ãã
distlibãããã±ãŒãžã³ã°ãå»æ¢ããŠããããšã«æ°ã¥ããŠããŸããã ãdistutils2 / packagesããšèšèŒãããŠããŸãããdistutils2ã¯å¥ã®ãã®ã§ããã
ç§ã®å人çãªèŠè§£ã§ã¯ãdistlibãšpackagingã¯ã©ã¡ããå®å šã«åççãªäœ¿çšæ¹æ³ã§ãã èªåã§è©äŸ¡ããŠãä»ã®äŸåé¢ä¿ãšåãããã«ãããŒãºãæºãããŠããããšã確èªããå¿ èŠããããŸãã
ãã¶ããéé£ããããšã¯èšèã匷ãããã ç§ã®çŸåšã®ç解ã®æºïŒ
https://distlib.readthedocs.io/en/latest/overview.html#distlib -evolved-out-of-packaging
ãããããã¯å¥ã®ãããã±ãŒãžã³ã°ãã§ã-distutilsã眮ãæããããšãç®çãšããææ¡ãããstdlibã¢ãžã¥ãŒã«ã§ããã ããã¯ãPyPI packaging
ãããžã§ã¯ããšã¯å®å
šã«ç°ãªããŸãã ãã®åºå¥ãããå°ãæ確ã«ããããã«ãdistlibãããžã§ã¯ãã«äŸé Œãã䟡å€ããããããããŸããã
ãã®åºå¥ãããå°ãæ確ã«ããããã«ãdistlibãããžã§ã¯ãã«äŸé Œãã䟡å€ããããããããŸããã
ãã§ã«ãããè¡ã£ãŠããŸã:)åç §ïŒ https ïŒ//bitbucket.org/pypa/distlib/issues/100/clarify-project-positioning-and-status
ãã®ã¹ã¬ããã¯ãéããããåŸãæè¿ã®ã¢ã¯ãã£ããã£ããªããããèªåçã«ããã¯ãããŠããŸãã é¢é£ãããã°ã«ã€ããŠã¯ãæ°ããåé¡ãéããŠãã ããã
æãåèã«ãªãã³ã¡ã³ã
ãã..åäžã®
x.x.PATCH
ããŒãžã§ã³ãã³ãã§å€§ããªé倧ãªå€æŽãå ããŸããïŒ ãã¡ã€ã³ããšåŒã°ãããããã¬ãã«ã®ã¡ãœããã®å Žåã¯ïŒ ããã¯ããªãæªã圢ã ãšæããŸãã