ç§ã¯ïŒ988ã«ã€ããŠå°ãèããŠããŸããïŒãããšïŒïŒ-å ·äœçã«ã¯ãç Žæãæå°éã«æãããŠãŒã¶ãŒããæçãªãã£ãŒãããã¯ãåŸãæ©äŒãæ倧åããããã«ããããå±éããæ¹æ³ã§ãã
ç§ã¯ã€ãã«èŠªæãšæéã®äž¡æ¹ãæå ã«çœ®ããã®ã§ããã®åé¡ãæåºããŸãã æããã«ã以äžã®ãã¹ãŠãè°è«ã®äœå°ããããŸãã :)
æ°ãããªãŸã«ããŒãå±éããããã®çŸåšã®èšç»ã¯ããã©ã°ã®èåŸã«ããæ°ãããªãŸã«ããŒãå ¬éããããšã«åºã¥ããŠããŸãã ãããŒã¯ãæåã¯ãããææžåããããã©ã°ã®äœ¿çšã«é¢ãã倧ããªèŠåãè¿œå ããããšã§ãã å®éšçã§ã¯ãªããããŒã¿çã«ãªã£ãããæ°ãããªãŸã«ããŒã§éã¶ããã«ãŠãŒã¶ãŒãæåŸ ãå§ããããšãã§ããŸãã ããã«ã¯ããŠãŒã¶ãŒã«CTAãè©ŠããŠãããããã£ãŒãããã¯ãæäŸããããã«äŸé Œããããšãå«ãŸããŸãã ãã®æ å ±ã¯ããã©ã°ãä»ããŠå®è¡ãããšãã«ãåºåãããå¯èœæ§ããããŸãã
ãã£ãŒãããã¯ç®¡çã«é¢ããŠã¯ãå¥ã®ãªããžããªã®èª²é¡è¿œè·¡ã·ã¹ãã ã§ãã£ãŒãããã¯ããªã¯ãšã¹ãããããšãèããŠããŸãã å¥ã®èª²é¡è¿œè·¡ã·ã¹ãã ã«èª²é¡ãé 眮ããçç±ã¯ãããã§ã®ãã€ãºãæå°éã«æããããçŠç¹ãçµã£ããã£ã¹ã«ãã·ã§ã³/調æ»ãå¯èœã«ããããšã§ãã ã解決çã®ãã°ã以äžã®ãã®ãã¡ã€ã³ã®èª²é¡è¿œè·¡ã·ã¹ãã ïŒããïŒã«ããã«ããŸãã
移è¡ã«é¢ããŠã¯ãæ°ãã解決ããžãã¯ã«ååãªèªä¿¡ãæãŠãã°ã移è¡ãã©ã®ããã«åŠçããããæ€èšã§ãããšæããŸãã ããããã©ã°ã®åŸãã«çœ®ããã®ã§ã2ã€ã®ãªãã·ã§ã³ããããŸã-ãªãªãŒã¹ã§çŽæ¥åãæ¿ããããæ°ãããªãŸã«ããŒããå®å®åãããŠïŒãããããã«ããªãªãŒã¹ïŒïŒã移è¡æéããå®è¡ããŸãã é¢ä¿ããæ£ç¢ºãªãã¬ãŒããªããããããç解ã§ããã°ãåŸã§ç§»è¡èšç»ãç«ãŠãããšãã§ãããšæããŸãã
git / GitHubã«é¢ããŠã¯ãããã¯ããããpipå
ã§ã®æåã®ãå®éšçãæ©èœã®å®è£
ã§ãã FWIWãç§ã¯ãã©ãŒã¯ã§å®éšãªã©ãè¡ããé²è¡ç¶æ³ãpipã®ã¡ã€ã³ãªããžããªèªäœã«å®æçã«ããŒãžããããšãèšç»ããŠããŸãïŒã³ãŒãã®ã¿ãpip._internal.resolutionã«ïŒã ã¡ã€ã³ãªããžããªã§éšããããªããããªãã®ã§ããã master
ããã®äœæ¥ãšåæãããŠããããã§ãã
ãããã¿ã€ãããã«ããããšãã«ãã«ãããžãã¯ãæ±ãã®ãéåžžã«é¢åã ã£ãããããã®äœæ¥ã®ãããã«ãŒãšããŠïŒ5051ãé 眮ããŠããããšã«æ³šæããŠãã ããã
ã©ã®ããã«èšç»ããŠãããã¯ããããŸãããã1ã€ã®ã³ã¡ã³ããšããŠãæ°ããã³ãŒããšçŸåšã®ã³ãŒãã®éã§å¯èœãªéãã³ãŒããå ±æããäœæ¥äžã«çŸåšã®ã³ãŒãããªãã¡ã¯ã¿ãªã³ã°ããããšããå§ãããŸããæ°ããã³ãŒããã¹ãšçŸåšã®ã³ãŒããã¹ã®éã§ããå€ãã®å ±æãèš±å¯ããŸãã
1ã€ã®çç±ã¯ãããå€ãã®ã³ãŒããå ±æããŠããå Žåãäž¡æ¹ã®ç¶æ ã§ãã®å ±æã³ãŒããå®è¡ããããšã«ãªãã察åŠãã¹ãè¡åã®å€ãã®æœåšçãªéãã
ããã«ã¯ããŠãŒã¶ãŒã«CTAãè©ŠããŠãããããã£ãŒãããã¯ãæäŸããããã«äŸé Œããããšãå«ãŸããŸãã
æ°æ©èœã«é¢ããäºåã®ãã£ãŒãããã¯ãåŸãç§ãã¡ã®å®çžŸã¯ããªãæªããã®ã§ããã ç§ãã¡ã¯ããŒã¿ãªãªãŒã¹ãè©Šããåé¡ãçºçããå Žåã«äœ¿çšã§ããããªããã¢ãŠãããã©ã°ãåããæ°æ©èœããªãªãŒã¹ããŸããã
ç§ã®å人çãªææ³ã¯ããå©çšå¯èœã«ããŠãã£ãŒãããã¯ãæ±ããããšããã®ã¯ããããŸã§ã«è©Šããããšã®èå³æ·±ãããªãšãŒã·ã§ã³ã§ãããæçµçã«ã¯ããã»ã©å€§ããªéãã¯ãããŸããã èªåãã«ããã€ãã©ã€ã³ã§ããã©ã«ããªãã·ã§ã³ã䜿çšããŠææ°ã®pipã䜿çšããæ°ããpipããŒãžã§ã³ã«ç§»è¡ããåã«ãã¹ãããªã人ãå€ãããŸãïŒããã¯PEP 517ã§ç¢ºèªãããŸããïŒã
PSFã®å©æéãååŸããŠããã®æ©èœã®å€§èŠæš¡ãªãçŸå®äžçãã®ãã¹ãæŒç¿ãè¡ãããã®ãªãœãŒã¹ãååŸããããšã¯ã§ããŸããããããšãïŒããã«è¯ãããšã«ïŒãã¹ãã€ã³ãã©ã¹ãã©ã¯ãã£ãéçºããããšã¯ã§ããŸããïŒ ãã®ãããªãããžã§ã¯ãã«ã¯ãã¯ãŒã¯ãããŒãšæ§æãéç¥ãããããžã§ã¯ãã®åŒã³åºããå«ãŸããå¯èœæ§ããããŸããããã«ãããæ°ããpipããŒãžã§ã³ãããããå£ããªãããšã確èªãããã¹ããã¹ãèšå®ã§ããŸãã ãŸãã¯ãå©æéã䜿çšããŠãæ°ããæ©èœã®ããŒã¿ãã¹ã¿ãŒãååŸãããšããã³ãã¥ãã±ãŒã·ã§ã³ã®åŽé¢ãçµéšããŠããããããåªãããŠãŒã¶ãŒãã¹ãããã°ã©ã ãèšå®ããã®ã«åœ¹ç«ãŠãããšãã§ããŸããïŒ
git / GitHubã«é¢ããŠã¯ãããã¯ããããpipå ã§ã®æåã®ãå®éšçãæ©èœã®å®è£ ã§ãã
ãããäœãæå³ããã®ã100ïŒ ããããŸããã 確ãã«éå»ã«ã¯ããå€ãæ¹æ³ãããŸã ååšããŠããéã«è¿œå ãããæ°æ©èœããããŸããã ãããã©ã«ãã§ãªãã«ããŠãè©ŠããŠã¿ãããšãã§ããããšããåŸåã¯ãããŸããããããã¯äž»ã«ããã£ãŒãããã¯ãåŸãè¯ãæ¹æ³ãèŠã€ãããªãã£ãããã§ãïŒäžèšãåç §ïŒã
ç§ã¯ãã®1ã€ã®æçš¿ãæžãã®ã«çŽ60åïŒre-re-re-re-re-ïŒãè²»ãããã®ã§ãä»åºŠã¯ãã¥ãŒãšãŒã¯ã®å ŽæãèŠãŠãããŸãïŒ ç§ããã®è¿ éãªå¿çã衚瀺ãããªãå Žåãããã¯ç§ã芳å ã¢ãŒãã«ãªã£ãŠããããã§ãã
æ°ããã³ãŒããšçŸåšã®ã³ãŒãã®éã§å¯èœãªéãã³ãŒããå ±æããäœæ¥äžã«çŸåšã®ã³ãŒãããªãã¡ã¯ã¿ãªã³ã°ããŠãæ°ããã³ãŒããã¹ãšçŸåšã®ã³ãŒããã¹ã®éã§ããå€ãã®å ±æãå¯èœã«ããããšããå§ãããŸãã
ééããªãïŒ ããããç§ãïŒ5051ããããããåªå ããçç±ã®80ïŒ ã§ãããã«ãããžãã¯ã«èç©ããæè¡çè² åµã®å€ããè¿æžããŠãåå©çšããããããã€ããã§ãïŒãã¹ãŠïŒïŒã ã³ãŒãã®æã¯ïŒfireïŒã§ããå¿ èŠããããæ®ãã¯ééããªãåççãªç¯å²ã§åå©çšããå¿ èŠãããããšã«åæããŸãã
ãããããªãã®èšãããããšãªããç§ãã¡ã¯ãããããããã©ã«ãã§ãªãã«ããããããè©ŠããŠã¿ãããšãã§ããããã«ããããŸãŸã«ããåŸåã¯ãããŸããã§ãã
ããã確ãã«ã ããã§éçºãããŒãã»ã®ããããŠããŸã-IMOã¯ã空ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ïŒåŸç¶ã®PRã§å
·äœåãããraise NotImplementedError()
ã®ã¡ãœããã®æãæã€ã¯ã©ã¹ïŒãããŒãžããŠãåé¡ãããŸããã ãå®éšç/ã¢ã«ãã¡ããšããŠæ瀺çã«ç€ºãããŠãããã©ã°ã®èåŸã§ã®ã¿äœ¿çšãããŠããéãããã¹ãŠã®ã±ãŒã¹ïŒäžéå端ãªå®è£
ïŒãmaster
ãã©ã³ãã«ã«ããŒããŸãã
åïŒãã£ãŒãããã¯
ç§ã¯è¥ããæãã§æ¥œèŠ³çã§ãããã®ããŒã«ã¢ãŠãããªããã€ã³ã«ããŠãç©æ¥µçãªãã£ãŒãããã¯ãåŸãŠãããã«åºã¥ããŠè¡åããããšæã£ãŠããŸãã ãããã¢ã¯ãã£ãããšã¯ãã¢ã«ãã¡/ããŒã¿æ©èœãè©ŠããŠããããã©ã®ãããªãã®ãããç¥ããããããã«ãå°ãæéãå²ããŠåãã§ãã人ã ãæå³ããŸãã ç§ãã¡ãååãªéšããèµ·ãããæŠç¥çã«äººã ãã¿ãŒã²ããã«ããŠæãå·®ã䌞ã¹ãã°ã詳现/åé¡ã解決ããã®ã«åœ¹ç«ã€æ°ããæ©èœãè©Šãæéãšãšãã«ã®ãŒãæã£ãŠãã人ã ããè¯ããç©æ¥µçãªããã£ãŒãããã¯ãåŸãããšãã§ãããšæããŸãã
æè¿ã®ãäž»èŠãªãå€æŽãèŠããšãåãåã£ããã£ãŒãããã¯ã®ã»ãšãã©ã¯åå¿çã ã£ããšæããŸããã¯ãŒã¯ãããŒãå£ãããšãã«ã¯ãŒã¯ãããŒã®åé¡ã«æ°ä»ãããŠãŒã¶ãŒãããããã«ã€ããŠç§ãã¡ã«é£çµ¡ããŠãã ããã 圌ãã®å€ãã¯ãæ°ããæ©èœã®è©³çŽ°ãæããã«ããã®ãæäŒãæéããªãã£ããããããŸãããããã¯å€ãã®æ©æŠãåŒãèµ·ãããŸãã ãããã¯ãŸããç§ãã¡ã®ã解çŽäºç®ã[1]ã®å€ããç ç²ã«ããŸããããPython Packagingã¯ãšã«ããããŸãæ®ã£ãŠããªãã®ã§ããã以äžè²»ãããããããŸãã[2]ã
FWIWãç§ã¯PyPIã®ç«ã¡äžãããããã€ãã®ã¢ã€ãã¢ãåããäºå®ã§ããããšãã°ãããªãç®ã«èŠããå ŽæïŒã€ãŸããç§ã®å人çãªããã°ã§ã¯ãªãïŒã§ããã°ãæçš¿ããããããããã£ã¹ããã¿ã€ãã³ã°ã®è¯ãå®çšçãªã¡ãŒã«ãéä¿¡ãããããŸãã /çµç±ã§éä¿¡ããããã®æ段ã ç§ãPyConã§åŠãã ïŒå€ãã®ïŒïŒããšã®1ã€ã¯ãç§ãã¡ã䜿çšããŠããªããã£ãã«ããããšããããšã§ãããããã¯æ å ±ãåºããã®ã«åœ¹ç«ã¡ãŸãããåºãããã®ããããã©ããã確èªããããšã¯ããŸããã
æ確ã«ããããã«ãç§ã¯PEP 517ã§æ¡çšããå±éã¢ãããŒãã«æ¹å€ããŠããŸãããç¹ã«ãç§ãã¡å šå¡ããã©ã³ãã£ã¢ã§ãããšããäºå®ãèãããšãããŸããã£ãŠãããšæããŸãã ç§ã¯ãç§ãã¡ãæ±ããŠããåé¡ãåé¿ããããã«ãç§ãã¡ãäœãåŠã¶ããšãã§ããå®çšçãªé ç®ãèŠã€ããããšããŠããŸãã ãããã®é ç®ã®ã»ãšãã©ã¯ãã¡ã³ããããã®ããå€ãã®äœæ¥ã䌎ããŸããç§ãããã«ã€ããŠèããããšã«ãã£ãšæéãè²»ãããŠããäž»ãªçç±ã¯ããããå€æŽç®¡çã®æ¹æ³ã®æ¥œããåŠç¿æŒç¿ãšèŠãªããŠããããã§ãã
åïŒå©æé
ã¯ããç§ãã¡ã¯ééããªãå©æé/çµéšè±å¯ãªäººã䜿ã£ãŠãã³ãã¥ãã±ãŒã·ã§ã³ãå±éãã€ã³ãã©ã¹ãã©ã¯ãã£ã®ãã¹ããç解ããã®ãæäŒãããšãã§ãããšæããŸãã ããããããã¯ç§ãä¿èšŒã§ããããå®å®ããæé/é±ã®æ°ãæã£ãŠããªãã®ã§ãå©æéãæžãä»äºãããç§ãä»äœãããšãã§ãããããå ·äœçãªèšç»ãèãåºã誰ããå¿ èŠãšããŸãã
FWIWãPSFã¯ãChangesetConsultingãšã®PyPA /ããã±ãŒãžã³ã°é¢é£ã®ã³ãã¥ãã±ãŒã·ã§ã³ãç解ããããã®ç¶ç¶çãªå¥çŽãçµãã§ããŸãã
äŒè©±ã«ããã«å€ãã®äººãè¿œå ããèšç»ç¶æ ã®ããªãæ©ã段éã§ãããããç§ã¯æå³çã«äººã«@ã¡ã³ã·ã§ã³ãããŠããŸããã
è泚ïŒ
ç§ã¯è¥ããæãã§æ¥œèŠ³çã§ã
:-)ãããŠãç§ã¯æã 幎ãåããããŠãç²ããŠããŠãå·ç¬çã§ãã ããªãã®å²åŠã«è¡ããŸããããããã¯ã¯ããã«è¯ãèãããŸã:-)
ééããªãïŒ ããããç§ãïŒ5051ããããããåªå ããçç±ã®80ïŒ ã§ãããã«ãããžãã¯ã«èç©ããæè¡çè² åµã®å€ããè¿æžããŠãåå©çšããããããã€ããã§ãïŒãã¹ãŠïŒïŒã
çŽ æŽãããïŒ
ä»IRCããïŒ
[sumanah] pradyunsgïŒãªãŸã«ããŒã§ããå€ãã®äœæ¥ãããéãè¡ãããã«ãpipïŒpackagesã³ãã¥ããã£ãã§ããããšã¯ãããŸããïŒ
...ã
[pradyunsg]å®éãçŸæç¹ã§ã¯ã httpsïŒ//github.com/pypa/pip/issues/6536ã§ã®å ¥åã¯ãäœæ¥ãžã®ã¢ãããŒãæ¹æ³ã人ã ããã®ãã£ãŒãããã¯ã®ååŸæ¹æ³ãªã©ãç解ããã®ã«åœ¹ç«ã€ã§ãããã
...ã
[sumanah] pradyunsgïŒreïŒæ°ãããªãŸã«ããŒïŒããŒã«ã¢ãŠãããã£ãŒãããã¯ã«ãŒããéçºãããŒïŒ6536-å¿ èŠãªå ¥åã¯æ¬¡ã®ãããªãã®ã§ãïŒãã£ãŒãã£ãŒãã©ã°ã¢ãããŒãã¯è¯ãã¢ã€ãã¢ã§ããïŒ pip GitHubã®åé¡ä»¥å€ã®ã¡ã«ããºã ãä»ããŠãã£ãŒãããã¯ãååŸããããšã¯è¯ãèãã§ããïŒ å©æéãªã©ãååŸããŠãå®éã®æåãã¹ããšå ç¢ãªãã¹ãã€ã³ãã©ã¹ãã©ã¯ãã£ãæ§ç¯ããããããã¢ã¯ãã£ããªéä¿¡ãè¡ã£ããããããšããå§ãããŸããïŒ
..ã
[pradyunsg]ãã-ç§ãææ¡ããŠããã¢ã€ãã¢ãè¯ããã©ããã ãŸããå±éãšãã£ãŒãããã¯ãããã¹ã ãŒãºã«ããã®ã«åœ¹ç«ã€å¯èœæ§ã®ããè¿œå ã®ã¢ã€ãã¢/ã¢ãããŒã/èãã¯çŽ æŽãããã§ãããã
ããïŒ
æ©èœãã©ã°ã¢ãããŒãã¯è¯ãèãã§ããïŒ ã¯ãã
pip GitHubã®åé¡ä»¥å€ã®ã¡ã«ããºã ãä»ããŠãã£ãŒãããã¯ãååŸããããšã¯è¯ãèãã§ããïŒ ã¯ãã å°éæ§ã®äœããŠãŒã¶ãŒããã®æ§é åãããŠããªããã°ã¬ããŒããåãå ¥ããèªååãããæ¹æ³ãèŠã€ããå¿ èŠããããŸãã
ããå ç¢ãªãã¹ãã€ã³ãã©ã¹ãã©ã¯ãã£ã圹ç«ã¡ãŸããïŒ ã¯ãããããããããŸããããã¯ç§ãã¡ã®ã¹ãã³ãµãŒãç§ãã¡ãå©ããããšãã§ãããããããªãå Žæã§ãã
ãã§ã³ãžã»ããïŒç§ïŒã¯ãPyPAã®èª¿æŽ/ã³ãã¥ãã±ãŒã·ã§ã³ãæ¯æŽããPSFãšã®æ¢åã®å¥çŽã®äžã§ãããäœç³»çãªå®äžçã®æåãã¹ããååŸããããã®ããã¢ã¯ãã£ããªã³ãã¥ãã±ãŒã·ã§ã³ãæ¯æŽããããšãã§ããŸããïŒ ãã®ããŒã«ã¢ãŠããéå§ãããŸã§ã«å¥çŽã«äœæéãæ®ã£ãŠãããšä»®å®ãããšãã¯ãã
ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãã³ãã¥ãã±ãŒã·ã§ã³/宣äŒãããã³ãã¹ãã«ã€ããŠããå€ãã®æ¯æŽãåŸãããã«ãå©æéãªã©ãååŸããããšã¯è¯ãèãã§ããïŒ ã¯ãã PSFå©æéã¯ã NLNetå©æéïŒ 30,000ãŠãŒãæªæºã®èŠæ±ã«å¯ŸããïŒãç§åŠå©æéã«äžå¯æ¬ ãªChan Zuckerbergã®å¿ é ãªãŒãã³ãœãŒã¹ãœãããŠã§ã¢ãããã³Mozillaã®MOSSãšåæ§ã«ãæœåšçã«èå³æ·±ããã®ã«ãªãã§ãããã ããã±ãŒãžã³ã°WGã¯èšé²ã®ç³è«è ã«ãªãããšãã§ããŸãã @pradyunsgãŸãã¯@pfmooreããããããããã§ããããšããªããããå Žåã¯ãWGã§ãããã®å¯èœæ§ã®èª¿æ»ãéå§ã§ããŸãã
@pradyunsgãŸãã¯@pfmooreããããããããã§ããããšããªããããå Žåã¯ã
ããã¯ééããªãç§ã«ã¯é¢çœããã§ãã:-)
@pradyunsgãŸãã¯@pfmooreã¯ããããããããã§ããããšããªãããã
_nods_ããããã¯é¢çœããã§ãã
ããå ç¢ãªãã¹ãã€ã³ãã©ã¹ãã©ã¯ãã£ã圹ç«ã¡ãŸããïŒ ã¯ãããããããããŸããããã¯ç§ãã¡ã®ã¹ãã³ãµãŒãç§ãã¡ãå©ããããšãã§ãããããããªãå Žæã§ãã
@brainwaneããã«ãé¢é£ããã®ã¯https://github.com/pypa/integration-testã§ãã ãããèšå®ããããšã¯ãè³é調éã®ãã1ã€ã®æœåšçãªé åã ãšæããŸãããããhttps://wiki.python.org/psf/Fundable%20Packaging%20Improvementsã«è¿œå ããå¿ èŠããããŸãã
ããã£ãïŒ ç§ã¯PSFãChanZuckerberg Initiativeã®äººã
ãšãPackaging WorkingGroupãä»ããCZIå©æéã®ç³è«ã«ã€ããŠè©±ãå§ããŸããã æ°ããpipãªãŸã«ããŒãéèŠã§ããçç±ã«ã€ããŠãFundable Packaging ImprovementsããŒãžã«ããã€ãã®è©³çŽ°ãè¿œå ãããã®ãªã¹ãã«integration-test
ãããžã§ã¯ããè¿œå ããŸããã ãããŠãç§ã¯ãè€éãªã³ãã³ãã©ã€ã³ã®ããã±ãŒãžé
åž/ã€ã³ã¹ããŒã«ããŒã«ãã§ãŒã³ã調æ»ãããŠãŒã¶ãŒãšè©±ãåã£ãŠãäœãèµ·ãã£ãŠããã®ããäœãèµ·ããã¹ããã«ã€ããŠã®ã¡ã³ã¿ã«ã¢ãã«ãç解ããèœåãæã€ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®å°é家ã®ååãéãå§ããŸããã ãããã³ã¡ã³ããã«ã¢ããã€ã¹ããŸãã
MOSSãCZIããŸãã¯NLNETããã®å©æéã§ãéã皌ããªããç§ãã¡ã¯ãéã皌ããšæããŸã...æ©ããŠã10æã§ãããã PSFããã®çŽæ¥ã®å©æéã¯ãããããã£ãšéãã§ããããã ãç§ãã¡ã®çŸåšã®çŠç¹ã¯ãPythonã¯ãŒã¯ã·ã§ãããäŒè°ïŒç¹ã«è²¡æ¿æŽå©ã®ããïŒãããã³Pythonã®å€æ§æ§/å æ¬æ§ã®åãçµã¿ã§ããã
èæ ®äºé ã®1ã€ã¯ãBrettãšéå¶è©è°äŒã®é¢ä¿è ãããããžã§ã¯ã管çãžã®æè³ã«ã€ããŠè©±ãããããã®ãããžã§ã¯ãïŒtriageããããžã§ã¯ã管çãªã©ïŒã管çããããã®äœããã®æåãªãœãŒã¹ãæ€èšããŠããããšãç¥ã£ãŠããŸãã圌ãã¯PSFãšè©±ãåã£ãŠããŸããçŽæ¥ã é·æçãªæç¶å¯èœæ§ã«ã€ããŠã®è©±ãèããã®ã§ã圌ããäœãããŠããã®ããäœãèããŠããã®ãã調ã¹ãŠã¿ã䟡å€ããããããããŸããã
æ©èœãã©ã°ã¯åªããŠããããªããã€ã³ãåªããŠããŸãã æ€èšããå¯èœæ§ã®ããããšã®1ã€ã¯ããŠãŒã¶ãŒã«ãªãŸã«ããŒãè©Šãããã«ã©ã³ãã ã«ä¿ãããšãã§ãããã©ããã§ãïŒããšãã°ãéåžžã«ãŸãã§ãäžåºŠã«ã€ã³ã¹ããŒã«ããå Žåã®ã¿ãã€ãŸãããŠãŒã¶ãŒã«ãªãŸã«ããŒãæ°žç¶çã«ãªã³ã«ããå¿ èŠã¯ãããŸããïŒã 次ã«ããªãŸã«ããŒãã©ã®ããã«åœ¹ç«ã£ããã瀺ãããšãã§ããŸãïŒããšãã°ããªãŸã«ããŒã¯ãããã«å¯ŸããŠäœãããŸãããïŒã©ã®ãããªç«¶åãçºçããŠè§£æ±ºããŸãããïŒïŒ
ããšãã°ãjavascriptãrustããæ¥ã人ããããçš®ã®ããã¯ãã¡ã€ã«ãæåŸ ããã®ã§ãããã¯èæ ®ãã¹ãããšãããããŸãã...
é£ã³èŸŒãã§ç³ãèš³ãããŸãããããããåé²ããã®ãèŠãŠããããã§ãïŒ
ç§ã®å人çãªææ³ã¯ããå©çšå¯èœã«ããŠãã£ãŒãããã¯ãæ±ããããšããã®ã¯ããããŸã§ã«è©Šããããšã®èå³æ·±ãããªãšãŒã·ã§ã³ã§ãããæçµçã«ã¯ããã»ã©å€§ããªéãã¯ãããŸããã èªåãã«ããã€ãã©ã€ã³ã§ããã©ã«ããªãã·ã§ã³ã䜿çšããŠææ°ã®pipã䜿çšããæ°ããpipããŒãžã§ã³ã«ç§»è¡ããåã«ãã¹ãããªã人ãå€ãããŸãïŒããã¯PEP 517ã§ç¢ºèªãããŸããïŒã
ãŸãã«ãã®çç±ã§ããã€ãã®PEP517ã®åé¡ã«æ©ãŸããã人ã®äžäººãšããŠãç§ã¯å®éã«ç©äºããã¹ããããªããã€ã³ã®æ¹æ³ãèŠãããšæã£ãŠããŸãã ãããã --no-use-pep517
ãã©ã°ã®åé¡ãçºçããåŸããã¹ãŠã®pythonããã±ãŒãžãã¥ãŒã¹ãœãŒã¹ã賌èªããã®ã§ãç§ã¯ãã®çš®ã®ããšããç¥ããŸããã ç§ãèšã£ãŠããã®ã¯ããã®çš®ã®ãã¥ãŒã¹ãåºããã®ã¯é£ããããšã§ããããããããã£ãŒãããã¯ãåŸãã®ãé£ããçç±ã§ãã
æ å ±ããã£ãšåºããããšãã§ããã°ããã£ãšå€ãã®äººãããã«èå³ãæã£ãŠããããšæããŸãã ããã¯ããªããæ¢ããŠãããªãœãŒã¹ãèš±ããã®ã§ããïŒ
jriddyãèšã£ãŠããããšãç¶ããããã«ãããŸããŸãªæ©èœãã©ã°ã«ã€ããŠç¥ã£ãŠããå¿ èŠãããå Žåãæ°ãããã©ã°ããšã«CIèšå®ãå€æŽãããªã©ãããŸããŸãªæ©èœãã©ã°ããã¹ãããã®ã¯éåžžã«é£ãããšæããŸãã
ãã ããã¯ããã«å®è¡å¯èœãšæãããã®ã¯ãç¥ã£ãŠããã¹ã1ã€ã®æ©èœãã©ã°ãããªãå Žåããã¹ãããå¿ èŠã®ããå€æŽã«é¢ããŠã次ã«äœãèµ·ããããããã¹ãããããšã§ãã ããããã°ã人ã ãäŒæ¥ã¯ãCIãã»ããã¢ããããŠãããå®è¡ã§ããããã«ãªããŸãïŒãšã©ãŒã®ãã«ãã«å€±æããããšã¯ãããŸããïŒã ç§ã¯Rustã«äŒŒããã®ãèããŠããŸãããã®ãããªå€æŽã¯ãããŒã«ãã§ãŒã³ã®ãããŒã¿ããã£ãã«ã§è¡ãããå¥ã®CIãã£ãã«ãã»ããã¢ããããŠãããŒã¿ããŒã«ãã§ãŒã³ã§å®è¡ãããšã©ãŒã誰ãã«éä¿¡ããã®ã¯ç°¡åã§ãã
éèŠãªããšã¯ããã®ã»ããã¢ããã¯ãæ°ããåã ã®æ©èœãã©ã°ã«ã€ããŠç¶ç¶çã«åŠç¿ããããCIã»ããã¢ãããå€æŽããããæåã§ãã¹ããããããã®ã§ã¯ãªãã_äžåºŠã ã_åŠç¿ããŠå®è¡ããå¿ èŠããããšããããšã§ãã
ãã ããã¯ããã«å®è¡å¯èœãšæãããã®ã¯ãç¥ã£ãŠããã¹ãæ©èœãã©ã°ã1ã€ãããªãå Žåã§ãã
ããæå³ã§ãããã¯ãã§ã«--pre
ã®åœ¢ã§ååšããŠããŸãããïŒ pipã®ããŒã¿ãªãªãŒã¹ãã£ãã«ã¯ã pip install --upgrade --pre pip
ãå®è¡ããã ãã®åé¡ã§ããããïŒ
é£ã³èŸŒãã§ç³ãèš³ãããŸãããããããåé²ããã®ãèŠãŠããããã§ãïŒ
@techalchemyãé¡ãããŸãããã¹ãŠã®äººã ã®äžã§ã_ããªã_ã¯ééããªããã®è°è«ã§å£²ã蟌ãããšãåŸæããå¿ èŠã¯ãããŸããã
ããã¯ããªããæ¢ããŠãããªãœãŒã¹ãèš±ããã®ã§ããïŒ
ããçšåºŠãã¯ãã
regïŒããŒã¿ãªãªãŒã¹/ pipã®ããã£ãã«ã
@jriddyãš@ chrish42ã§ãã£ã€ã ã鳎ãããŠãããŠããããšãã äžè¬çã«ãããã¯ç¢ºãã«æçšã§éèŠãªäŒè©±ã ãšæããŸããããã®åé¡ã«ã€ããŠã¯å°ãOTã ãšæããŸãã ããã§ããããã§äžåºŠå¿çããŸãã ããã«ã€ããŠãã£ãšè©±ãåãããã®ãªããæ°ããåé¡ãéããŠã¿ãŸãããã
éå»ã«ïŒæè¿ã§ã¯pip 10ã§ïŒãããè©ŠããŸããããããŸããããŸããã§ããã ç§ã¯ãããä»åŸã©ãã»ã©ããŸããããã«ã€ããŠå°ãæççã§ãããç§ãã¡ã®ããã»ã¹ã«ããã€ãã®å€æŽãå ãããšããããç§ãã¡ã«ãšã£ãŠã¹ã ãŒãºã«æ©èœããããã«ãªããããããªããšæ³åããããšãã§ããŸãã ãã¶ãããããŒã¿çã®ã¿ãã®æ©èœã»ãããªã©ãå®è¡ã§ããã§ããããã ïŒ5727ã®æ§æãšããŠ-X all
ãæ³åããŸããã ãã¶ãããã®å±éèšç»ã®äžéšãšããŠãããåãäžããããšãã§ããŸããïŒ Idkã ãããç解ããã«ã¯ãæéãšãšãã«ã®ãŒãæè³ããå¿
èŠããããŸãã :)
https://github.com/pypa/packaging-problems/issues/25#issuecomment -520167480ã§è¿°ã¹ãããã«ããœã«ããŒãããããšã¯ã¹ããªãšã³ã¹ãã©ã®ããã«å€æŽããããçµ±åçã«èª¬æããããšãéèŠã ãšæããŸãã å€ãã®äººã ã¯ãããå³æ Œãªã·ã¹ãã ãžã®ç§»è¡ã«äžæºãæããã§ãããïŒå šäœçã«ä¿¡é Œæ§ãé«ãã¯ãã§ãããçŸåšãããã¯ãããŠããªãå Žæã§ã¯ãããã¯ãããŸãã
ç©äºãã©ã®ããã«å€åãããããããŠãªããããè¯ãå€åã§ãããã«ã€ããŠã®äžå¿çãªèª¬æãæã€ããšã¯ããããã®æã£ãŠãã人ã ãžã®å¯Ÿå¿ãã¯ããã«ç°¡åã«ããã§ãããã ãªã³ã¯ãæçš¿ããŠãããã«è³ªåããããã©ããã確èªããŠãã ããã
ãã¬ãªãªãŒã¹ã¯è¯ãèãã§ãã condaã«ã¯ããã¬ãªãªãŒã¹ãã£ãã«ã®conda-canaryããããŸãã ã³ã³ãã®å€æŽã«ãã£ãŠã«ããªã¢ãç Žå£ããããã©ããã確èªã§ããããã«ãã«ããªã¢ã«å¯ŸããŠå®è¡ããCIãžã§ããèšå®ããããšããå§ãããŸãã çæ³çã«ã¯ããã®ããŒãžã§ã³ããªãªãŒã¹ããåã«ã圌ãã¯ç§ãã¡ã«ç¥ãããŠãããŸãã ãã®ãã£ãã«ã¯ããªãæ²æšãªå€±æã§ããã 人ã ãå®éã«ããã䜿çšããŠããããã«èŠããã®ã¯ã圌ããèŠåŽããŠããããã€ãã®ãã°ãä¿®æ£ããããã«ææ°ã®ãªãªãŒã¹ãå ¥æããããšãã ãã§ãã æå³ããã¢ãŒãªãŒã¢ããã¿ãŒããã®å ±åã¯ããŸããããŸããã ãã¬ãªãªãŒã¹ã¯ãŸã è¯ãèãã ãšæããŸãããªãªãŒã¹ãããŸããããã700ã®ç®¡ç察象ããŒããå£ããããšã«äººã ãè ¹ãç«ãŠãŠãããšãã¯ãããŸãããªãªãŒã¹ããåã®1é±éã¯å©çšå¯èœã§ããããªãã§ããïŒ 700ããŒãã«ããŒã«ã¢ãŠãããåã«ãããããã¹ãããŸããïŒã ããªãã¯äººã ã«ç©äºãããè¯ãããæ©äŒãäžããŠããŸãã ãã®æ©äŒãéãããšã¯ãå°æ¥çã«åœŒãã«ãšã£ãŠããå€ãã®èŠçãæå³ããããšã圌ããç解ããã®ãå©ããŠãã ããã ããã¯åœŒãã«ãšã£ãŠäŸ¡å€ã®ããæè³ã§ããã圌ããCIã®äžéšãšããŠãããè¡ãå Žåãã»ããã¢ãã以å€ã®æéã¯ããããŸããã
ãã©ã°ã«ã€ããŠïŒïŒãããããã©ã°ã«å ããŠïŒæ§æãªãã·ã§ã³ãããæ¹ãè¯ããšæããŸãã ç§ã¯ãã€ãæãæž¡ããããããŸããã pipã«ãã®æ©èœããããã©ããã¯ããããŸããããããæ°žç¶çãªã¹ã€ãããå¿ èŠãªäººã«ã察å¿ããenvå€æ°ã䜿çšããããã«æ瀺ããŸããïŒ
æã«ã€ããŠïŒ
pipã®CLIãªãã·ã§ã³ã¯ãé©åãªååã§ãæ§æãã¡ã€ã«ãªãã·ã§ã³ãšç°å¢å€æ°ã«èªåçã«ããããããŸãã
@msarahanãã£ã€ã ãããŠãããŠããããšãã倧ãã«æè¬ããŸãïŒ :)
å£ããäŸåé¢ä¿ãç¡èŠãããããããããšãããããŠããªãã·ã§ã³ã«é¢ããŠã¯ããªãŸã«ããŒãããã©ã«ãã§ãªã³ã«ãªã£ãåŸã®ãªããã¢ãŠããšããŠãæ©èœããããã«æ©èœãã©ã°ãæ§æããããšãæãŸãããšæããŸãïŒããšãã°ããªããã€ã³ãšããŠ--avoid-conflicts
ã䜿çšããæçµçã«ãªããã¢ãŠããšããŠ--no-avoid-conflicts
ã«ç§»åããŸãããæåããäž¡æ¹ã®ãªãã·ã§ã³ãåãå
¥ããŸãïŒ
ãŸãã --ignore-installed
ããœã«ããŒãšã©ã®ããã«çžäºäœçšããããæ€èšããå¿
èŠããããŸãããœã«ããŒãæž¡ãããå Žåãæ¢ã«ã€ã³ã¹ããŒã«ãããŠããããã±ãŒãžã®ãã¹ãŠã®èŠä»¶ãç¡èŠããå¿
èŠããããŸãã
ãã以äžã«ããªãŸã«ããŒã®çµ±åã容æã«ããããã®å°ããªãªãã¡ã¯ã¿ãªã³ã°ããããšããŠåŠçããããšã¯ãåªããæ¹æ³ã§ãïŒããããCPythonã®æ°ããæ§æAPIãå¯èœã«ããã¢ãããŒãã§ããå€ãã®ãã©ã€ããŒããªãã¡ã¯ã¿ãªã³ã°ã¯ãæçµçã«ã¯å ¬éããã®ã«ååå®å®ããŠããŸããïŒ
@ncoghlanãªãŸã«ããŒã®ããªããã¢ãŠãããšã¯ã©ãããæå³ã§ããïŒ äŸåé¢ä¿ã®è§£æ±ºïŒãããã£ãŠãªãŸã«ããŒïŒãå®å
šã«åé¿ããã®ã¯--no-deps
ã§ãã ããã®ããã±ãŒãžã®ããŒãžã§ã³ã®ç«¶åãç¡èŠããããªã©ã®å¿
èŠãããããšãç解ããŠããŸãã
å人çã«ã¯ãæ°ãããªãŸã«ããŒãžã®ç§»è¡æéãããé·ããæåã«èŠããŸãŸã«ããã解決ããžãã¯ãç¶æããããšã«æå³ã¯ãããŸããã
ãã ããããã2ã€ã®ãªãã·ã§ã³ã§ã«ããŒã§ããªããŠãŒã¹ã±ãŒã¹ãããå Žåã¯ããããã«ã€ããŠæ¬åœã«ç¥ããããšæããŸãã :)
ããåºçŸ©ã«ã¯ãå³å¯ãªãªãŸã«ããŒã®åäœã«åé¡ãããã¯ãŒã¯ãããŒãããå ŽåããããããµããŒããããã©ãã/ã©ã®ããã«ãµããŒãããããç解ã§ããããã«ãããããã©ã®ããã«èŠããããã§ããã ãæ©ãç¥ããããšæããŸãã
å人çã«ã¯ãæ°ãããªãŸã«ããŒãžã®ç§»è¡æéãããé·ããæåã«èŠããŸãŸã«ããã解決ããžãã¯ãç¶æããããšã«æå³ã¯ãããŸããã
IDKãç§ã¯ãã®ãæ©èœãã䜿çšããŠããã«ãã§ããªãã¯ã¬ã€ãžãŒãªããšãããŸãã
# install just the packages I've built specifically
pip install --no-index --no-deps --find-links=/path/to/my/local/build/cache -r local-reqs.txt
# ...snip to later in a dockerfile, etc...
# install the deps from public PyPI
pip install -r local-reqs.txt
ãã®å ŽåãããŒã«ã«ã®æèµå®€ããããã€ãã®éåžžã«äºåã«æ±ºå®ãããããã±ãŒãžãã€ã³ã¹ããŒã«ããåŸãäŸåé¢ä¿ã解決ããããã«äŸé ŒããŠããŸãã æ£ç¢ºãªããŒãžã§ã³ããã®local-reqsãã¡ã€ã«ã«èªã¿èŸŒãã§ãªãŸã«ããŒãæºè¶³ãããããšãã§ãããšæããŸãããå®éã«ã¯ãpipã®çŸåšã®åäœãããã®ãããªä»»æã®ãã«ãã€ã³ãžã§ã¯ã·ã§ã³ã¹ããããå¯èœã«ããã®ã«éåžžã«åœ¹ç«ã€ããšãããããŸããã ã¹ããŒã¹ããŒã®å ç±ã¯ãŒã¯ãããŒã®å ŽåãããããŸããããç§ã¯èªããŸãã
ããããããããããã€ãŒããªè§£æ±ºãã®æ¯ãèãã«ã¯ãŸã çšéããããŸãã
@pradyunsgã«åæããŸãã æ¢åã®ã³ãŒããšæ°ãããªãŸã«ããŒãç¡æéã«ç¶æããããšã¯å®è¡å¯èœã§ã¯ãªããšæããŸãã 確ãã«ããããã¡ã³ãããŒãšããŠãç§ã¯ãããããããšã«èå³ããããŸããã
ãšã³ããŠãŒã¶ãŒã®POVãããæ°ãããªãŸã«ããŒãæ£ããããšãè¡ããªãå¯èœæ§ããããšããå¥åŠãªã·ããªãªãååšããå¯èœæ§ãããããšãèªããŸãã ãŸããç·æ¥ã®ãå€ãåäœãè¿ããŠãã ããããã©ã°ãèšå®ããããšã¯ãéèŠãªç§»è¡ã¡ã«ããºã ã§ãïŒãã ãããäžæçã«ä»¥åã®ããŒãžã§ã³ã®pipã«ããŒã«ããã¯ãããã®ãåããããè¯ãããã§ã¯ãªããã©ããã¯è°è«ã®äœå°ããããŸãããCIã®äžè¬çãªäœ¿çšæ³ã®ãããªãã®ã¯èªåçã«ææ°ã®pipã䜿çšããŠããã®ãªãã·ã§ã³ãåé¡ã®ãããã®ã«ããŸãïŒã ããããé·æçã«ã¯ããªãçŸåšã®åäœãç¶æããå¿ èŠãããã®ã§ããããã ç§ã¯æ¬¡ã®äž»ãªç¶æ³ãæ³åããããšãã§ããŸãïŒ
--no-deps
ã䜿çšããŠãªãŸã«ããŒããªãã«ããããã極端ãªæ¹æ³ã§ã¯ãããŸããïŒã--no-deps
ãåºå®ããŠäœ¿çšãããã§ããŸãã ããããæçµçã«ã¯ãããããªãã§ãã ããããšèšã£ãŠããããŠãŒã¶ãŒããã®ã¡ãã»ãŒãžãç¡èŠããå Žåã¯ãããæç¹ã§ããèŠåããŸããããšããå€ããªãŸã«ããŒãåé€ããŸããç§ãéããä»ã®ãã®ã¯ãããŸããïŒ ç¹ã«ãå€ããªãŸã«ããŒãå»æ¢ããŠããåé€ããããšãã§ããªãå Žåã¯ãããŸããïŒ
ã¡ãªã¿ã«ãè¿·åã«ãªããªãããã«ãèãããšããžã±ãŒã¹ã¯ãã¡ããã®ã·ããªãªãæçš¿ããã®ã«æé©ãªå Žæã¯ã©ãã§ããïŒ ãã¹ãã±ãŒã¹ã®äœæãæ©æã«éå§ã§ããã®ã§ããã°ãäºåã«ã§ããã ãå€ãã®å¥åŠãªç¶æ³ãåéããŠãããšäŸ¿å©ã ãšæããŸã:-)
PSãããããæ°ãããªãŸã«ããŒã®æºåäœæ¥ã®äžç°ãšããŠããå
žåçãªãå¶çŽã®åé¡ãäœã§ãããã調æ»ããå¿
èŠããããŸãïŒPyPIã®å
容ã«åºã¥ããŠïŒã ç§èªèº«ã®éšåã§ã¯ããpipinstallããããè€éãªãã®ãããããšã¯éåžžã«ãŸãã§ããããè€éãªã±ãŒã¹ã§è¡ãè©°ãŸããåçŽãªã±ãŒã¹ã®å€§éšåãèŠå€±ãã®ã¯æ®å¿µã§ãã
ãªãŸã«ããé ãããŸãïŒcondaãåç §ïŒã 20å以äžã®ãªãŸã«ããŒããŸãã¯çŸåšã®åäœã®ãããããéžæããå¿ èŠãããå Žåã¯ãçŸåšã®åäœãå¿ èŠã«ãªãããšããããããŸãïŒãŸãã¯ãå°ãªããšãè©ŠããŠã¿ãŠãã ãããå€ãã®å Žåãåé¡ã®ãªãçµæãåŸãããŸãïŒã
ã¡ã¿ããŒã¿ãééã£ãŠããŸãã ä»æ¥ã¯ããã»ã©åé¡ã§ã¯ãããŸãããã解決ã§ããã¯ããªã®ã«è§£æ±ºã§ããªãã±ãŒã¹ãæ³åããã®ã¯ç°¡åã§ãã PyPIã¡ã¿ããŒã¿ã¯conda / conda-forgeã¡ã¿ããŒã¿ãããæªã圢ã§ãããããã¯ãã§ã«condaã®åé¡ã§ãã ãããééã£ãŠããŠããŠãŒã¶ãŒãšããŠè§£æ±ºçãåŸãããšãã§ããªãå Žåã¯ããªããã¢ãŠããååŸããããšæããŸãã
@rgommers 6ã®å Žåãããã®ããã±ãŒãžã®ããŒãžã§ã³ã®ç«¶åãç¡èŠãããã¹ã¿ã€ã«ã®ãªãã·ã§ã³ãæ©èœããå¯èœæ§ããããŸãã
ããããšãã @ rgommers-ãããã¯è¯ãç¹ã§ãã
ãªãŸã«ããŒãé ãããã®ã§ããªãŸã«ããŒã®ãã°ãšããŠæ°ããŸãã åçŽãªã±ãŒã¹ã§ååãªããã©ãŒãã³ã¹ã®çµæãåŸãããªãå Žåãããã¯ç§ã®èŠè§£ã§ã¯ç®çã«é©åããŸããã äžæ¹ãå®å šãªãªãŸã«ããŒã䜿çšãããšæéããããéåžžã«è€éãªå¶çŽãããã¯ãŒã¯ãããå ŽåïŒ20åãèªåŒµã§ãããšããã®ã§ãããã©ã®ãããªç¶æ³ã§ã蚱容ã§ãããšã¯æããŸããïŒïŒããé åããµããŒãããã«ã¯è€éããããšèããŠãã ããã å¥ã®èšãæ¹ãããã°ã誰ããcondaã«ãéããŠæ±ããäžæ£ç¢ºã§ãããéã解決çãæäŸããããã«é ŒãããšããããšããããŸããïŒ åœŒããããããªãã®ãªãïŒãããŠç§ã¯åœŒããããããªãã ãããšç§ã¯ããªã確信ããŠããïŒããªãããããæåŸ ããã®ãåççã§ããïŒ
æªãã¡ã¿ããŒã¿ã¯ééããªããç§ãã¡ã¯ããããµããŒãããªãããšç§ãèãããã®ã§ãïŒããã§ã¯ãéæšå¥šæéã®åŸãã«ã€ããŠè©±ããŠããããšãå¿ããªãã§ãã ããïŒïŒã ãŠãŒã¶ãŒã«ã¡ã¿ããŒã¿ãä¿®æ£ããæéãäžãããããã±ãŒãžXã§ã®ããŒãžã§ã³ã®ç«¶åãç¡èŠããããšã¹ã±ãŒãå¥ãªãã·ã§ã³ãæäŸããããšã¯ãIMOã§ååã§ããäžéšã®äººã ãã¡ã¿ããŒã¿ãä¿®æ£ããªããšããçç±ã ãã§ãå€ãæ©æ¢°ããã¹ãŠä¿æããããšãæåŸ ãã¹ãã§ã¯ãããŸããã
ããããããã§ããæ£ç¢ºãªãªãŸã«ããŒããã¬ããŒãžã€ã³ãã¬ããŒãžã¢ãŠããã«ãŒã«ã«åŸããããåªããã¡ã¿ããŒã¿ãå¿ èŠã§ãããšããäºå®ãå ¬è¡šãã人ã ããã®ã¡ãã»ãŒãžã«ã©ã®ããã«å¿çããããç£èŠããããšã¯ãããŒã«ã¢ãŠãããã»ã¹ã®å€§éšåãå ããŠããŸãã
å°å ã®æèµå®€ããéåžžã«äºåã«æ±ºå®ãããããã±ãŒãžãããã€ãã€ã³ã¹ããŒã«ããåŸãäŸåé¢ä¿ã解決ããããã«äŸé ŒããŠããŸãã
@jriddy ãäºææ§ãããå Žåã¯æ¢åã®ã€ã³ã¹ããŒã«ã䜿çšããããšãã解決æŠç¥ãããã«æå¹ã§ãã
è¿·åã«ãªããªãããã«ããç§ãèãããšããžã±ãŒã¹ã¯ããã«ãããŸããã·ããªãªãæçš¿ããã®ã«æé©ãªå Žæã¯ã©ãã§ããïŒ
6ã®å Žåãããã®ããã±ãŒãžã®ããŒãžã§ã³ã®ç«¶åãç¡èŠãããã¹ã¿ã€ã«ã®ãªãã·ã§ã³ãæ©èœããå¯èœæ§ããããŸãã
ã¯ããããã¯æ£ãããªãã·ã§ã³ã®ããã«èãããŸã
ïŒ20åãèªåŒµã§ãããšããã®ã§ãããã©ã®ãããªç¶æ³ã§ãåãå ¥ãããããšã¯æããŸããïŒïŒæ¬¡ã«ãããµããŒãããã«ã¯è€éããããšæããããã®ãã®é åã«å ¥ããŸãã å¥ã®èšãæ¹ãããã°ã誰ããcondaã«ãéããŠæ±ããäžæ£ç¢ºã§ãããéã解決çãæäŸããããã«é ŒãããšããããšããããŸããïŒ åœŒããããããªãã®ãªãïŒãããŠç§ã¯åœŒããããããªãã ãããšç§ã¯ããªã確信ããŠããïŒããªãããããæåŸ ããã®ãåççã§ããïŒ
conda
ã®ããã©ãŒãã³ã¹ã«ã€ããŠäžæºãèšã£ãŠãã人ã¯ããããããŠãèããŠããŸãããããã¯å€§å€ãªäœæ¥ã§ããæè¿ã®ããã°æçš¿ãåç
§ããŠãã ããã è¿
éã§æ±ãã³ã³ããªãã·ã§ã³ããããã©ããã¯ããããŸããã ãã ãã conda-metachannel
ã®ãããªé¢é£ãããœãªã¥ãŒã·ã§ã³ïŒããã¯ïŒããããäŸåé¢ä¿ã°ã©ãïŒæåã§ããã±ãŒãžãå«ãã/é€å€ããïŒãæŽçããŠããœãªã¥ãŒã·ã§ã³ãããéãååŸã§ããŸãã ã ããç§ã¯ãããåãç·ã«æ²¿ã£ãŠãããšæããŸãã
ãã ãã次ã®ãããããè¡ããªãéããããã¯_ééããªã_å¿ èŠã«ãªãããšã«æ³šæããŠãã ããã
æªãã¡ã¿ããŒã¿ã¯ééããªããç§ãã¡ã¯ããããµããŒãããªãããšç§ãèãããã®ã§ã
ãã£ããã ã ãã ãããæ£ããã¡ã¿ããŒã¿ãé©çšããªãããšããã¹ã¿ã³ã¹å šäœã¯ãããã§ã¯åœ¹ã«ç«ã¡ãŸããã ãããæè¿å€ãã£ãŠããªãéãïŒ ïŒãããŠç§ã¯ç¥ã£ãŠããŸããããã¯pipã®ãã®ã§ã¯ãªãPyPIã®ãã®ã§ã-ãããããã¯é¢é£ããŠããŸãïŒã
ããªããæ¬åœã«ããªãããããããšæããªãã·ã§ã³ãæã£ãŠãããã©ããã¯ããããŸããã
éããŠæ±ããªãŸã«ããŒã¯æ£ç¢ºãªãã®ãšäœãéãã®ã§ããïŒ äœãéããªãã®ã§ããïŒ å¶çŽã¯å¶çŽã§ãããã°ã¬ãŒãã«ã¯å«ãŸããŠããŸããã ããªãã¯åœŒããæºè¶³ãããããæºè¶³ãããªããã®ã©ã¡ããã§ãã ãããããæåã¯ååã ãã§ã次ã«ããŒãžã§ã³ãªã©ã§ããããæºè¶³ãããããšãã§ããŸãã
Condaãé ãããšã«äººã ãè ¹ãç«ãŠãŠãããšããããã¯æ¬è³ªçã«åžžã«æªãã¡ã¿ããŒã¿ãåå ã§ãã æ ¹æ¬çãªåå ã«é¢ä¿ãªããç¥èŠãããé床äœäžã®ããã«ãªãããšãèŠããŠãããŠãã ããã äžæ£ãªã¡ã¿ããŒã¿ã¯ã誀ã£ãå¶çŽã§ããå ŽåããããŸãããå€ãã®å Žåãã¯ããã«å€ããæãŸãããªããªãã·ã§ã³ãæ€èšã§ããå¶çŽããªãããšãåå ã§ãã Condaã¯æè¿ã1ã€ã®å°ããªããšãè¡ãããšã§å€§å¹ ã«æ¹åããŸãããããã¯ãäžååãªïŒã»ãšãã©ã®å ŽåãªãŒãã³ãããïŒå¶çŽããã£ãå€ããœãããŠã§ã¢ã®ã³ã¬ã¯ã·ã§ã³ãåé€ããããšã§ãã ãããã®ãªãŒãã³ãªå¶çŽã«ãããcondaã¯å€ãã®ããŠã³ã°ã¬ãŒããå¿ èŠãšããæ¬åœã«æªããœãªã¥ãŒã·ã§ã³ãæ¢æ±ããŸããã ããã¯ã解決ã«æåéãäœæéãããã£ãå Žæã§ãã ããŠã³ã°ã¬ãŒãã¯ãã«ã¹ã±ãŒãã§ãããããéåžžã«ã³ã¹ãã®ãããæäœã§ãããåã¹ãããã®å¶çŽãå°ãªããªããã³ã¹ããé«ããªããŸãã
ã¡ã³ã¿ãªãã£ãšããŠã®ãã¬ããŒãžã€ã³ãã¬ããŒãžã¢ãŠããã®åé¡ã¯ããœã«ããŒã®ã¡ã³ãããšããŠãããã°ãæã£ãŠããããšã§ãã ãŽããšã¯äœãã«ã€ããŠéåžžã«åªãããã¥ãŒãªã¹ãã£ãã¯ããªãéããããªãã¯ç¡åã§ãã æçµçã«ã¯ããœã«ããŒãé ãçç±ã調æ»ããåé¡ã®ããã±ãŒãžãåãåããŠãããåé¡ã®åå ã«åé¡ã®ä¿®æ£ãäŸé Œããå¿ èŠããããŸãã ããã«ããã®ã¯çŽ æŽãããç«å Žã§ã¯ãããŸãããç§ãä¿¡ããŠãã ããã ç§ãã¡ã¯ãã³ã³ããæ°žé ã«ç¶ãçç±ããŸãã¯ã³ã³ããã©ãŒãžããã€ãªã³ã³ãããŸãã¯ä»ã®ãµãŒãããŒãã£ãã£ãã«ã®æ··åç©ã§æ©èœããªãçç±ã人ã ã«èª¬æããããã«å€ãã®æéãè²»ãããŠããŸãã çµå±ãæ¢åµã®ä»äºããããããã®ãµãŒãããŒãã£ã®ãã£ãã«ã«äœãä¿®æ£ããå¿ èŠãããããäŒããå¿ èŠããããŸãã ææªã ã
condaãšã®æ¯èŒã§ã¯ãcondaãåé¡ã«å¯ŸããŠéåžžã«ç°ãªãã¢ãããŒããåã£ãŠããããšãèæ ®ããå¿ èŠããããŸãã Condaã«ã¯1ã€ã®å·šå€§ãªã¡ã¿ããŒã¿ãœãŒã¹ãããããã¹ãŠãäžåºŠã«è§£æ±ºããŸãããpipã¯äžåºŠã«åãã®ãååž°çã«è§£æ±ºããŠæé©åããŸãïŒå¿ èŠã«å¿ããŠããã¯ãã©ãã¯ããŸãïŒã ããã¯ããªãã«ç°ãªãæé©åãã¹ãäžãããããããŸããã
@wolfvã¯æè¿ãcondaã«libsolvã䜿çšããããšãæ€èšããŸããã 圌ã¯æçµçã«ãã³ã³ããšåãçããåºãããšãã§ããªãã£ãããšã«äžæºãæããŸããã ããã¯ãã¢ãããŒãéã®ãã®éãã«èŠçŽãããŸãã Libsolvã¯ããã¯ãã©ããã³ã°ãœã«ããŒã§ãã ã³ã³ãã€ã«ãããã³ãŒããpipã«çŽæ¥å«ããªãããšã«ææã§ããããšã¯ç¥ã£ãŠããŸãããããã¯pipãžã®ãªãã·ã§ã³ã®ã³ã³ãã€ã«æžã¿ã¢ããªã³ãšããŠæ©èœããå¯èœæ§ããããŸãã
ïŒ @pradyunsgã¯ã8æã®æŽæ°ãããã°ã«æçš¿ããŸãããïŒ
人ã ãä»æèµ·ããŠãã質åãããŒãºã®ããã€ãã¯ããã¹ãã±ãŒã¹ãªã©ãä»ããåéãéå§ããå¿ èŠããããã®ã§ãã
ããããŸãããã®å±éã§ã¯ã©ã®ãããªã¿ã€ã ã©ã€ã³ãçŸå®çã§ãããšèããŠããŸããïŒ ããã¯ãPradyunã®å¥åº·ç¶æ ãšèªç±æéãä»ã®pipã¡ã³ããããã®ã³ãŒãã¬ãã¥ãŒã®å¯çšæ§ãããã³ç³è«ããŠããå©æéãååŸã§ãããã©ããã«å€§ããäŸåããŸãããã·ãŒã±ã³ã¹ã¯æ¬¡ã®ããã«ãªããŸãã
resolvelib/zazo
ã§å®çŸ©ãããæœè±¡åãå°å
¥ããŸããæ°ãæãããã®ã§ãæ§ããã«èŠç©ãã£ãŠã2020幎5æã§ããïŒããã¯æ£ããã§ããïŒ ç§ã¯äœãæ¬ ããŠããŸããïŒ
ç§ã®æèŠã§ã¯ãæ å ±åéäœæ¥ã®äžéšã¯ãããžã§ã¯ããããŒãžã£ãŒãUXç 究è ãè¡ãã¹ããã®ã§ããã httpsïŒ//github.com/pypa/packaging-problems/issues/264ãšä»ã®åé¡ã¯ã人ã ãããã§æèµ·ããæžå¿µã«åœ¹ç«ã€å¯èœæ§ããããŸãã
äžæ£ãªã¡ã¿ããŒã¿ã¯ã誀ã£ãå¶çŽã§ããå ŽåããããŸãããå€ãã®å Žåãã¯ããã«å€ããæãŸãããªããªãã·ã§ã³ãæ€èšã§ããå¶çŽããªãããšãåå ã§ãã
å¶çŽã®ãªãäŸåé¢ä¿ãŸãã¯>= some_old_version
ã䜿çšããããšãã setup.py
/ pyproject.toml
ã®äŸå€ã§ã¯ãªãã«ãŒã«ã§ãããããããã¯åé¡ã«ãªããŸãã ãããã誀ã£ãå¶çŽãã§ãããããœã«ããŒãç°ãªãéžæãè¡ãå¿
èŠããããã©ããã¯ãç§ã¯æ¬åœã«æ°ã«ããŸãããããã¯ãPyPIã®ã¡ã¿ããŒã¿ã®ç¶æ
ã§ãã
ãããã®ãªãŒãã³ãªå¶çŽã«ãããcondaã¯å€ãã®ããŠã³ã°ã¬ãŒããå¿ èŠãšããæ¬åœã«æªããœãªã¥ãŒã·ã§ã³ãæ¢æ±ããŸããã
ããªãã¯ããã®å°é家ã§ãããããã«å¯Ÿããå®çšçãªè§£æ±ºçã¯ãããŸãããïŒ ã»ãšãã©ã®å ŽåãããŠã³ã°ã¬ãŒãã¯å¿ èŠãªããããæåã«ããŠã³ã°ã¬ãŒãã®ã¿ãè©ŠããŠãã ããã 次ã«ãããã±ãŒãžããšã«1ã€ã®ããŒãžã§ã³ã®ã¿ãããŠã³ã°ã¬ãŒãããŸãã ããã«ããŠã³ã°ã¬ãŒãããå¿ èŠãããå Žåãããã¯ã»ãšãã©ã®å Žåééã£ã解決çã§ãïŒã¡ã¿ããŒã¿ã®äžè¯ãªã©ãåå ã§ããå¯èœæ§ããããŸãïŒã
å®éã pip
ãããŠã³ã°ã¬ãŒãã§ãããã©ããã¯ããããŸããã æåã¯ããŸãã«ãç©æ¥µçãªããã¹ãŠãã¢ããã°ã¬ãŒããããæŠç¥ã§ããããä»ã§ã¯ãå¿
èŠã«å¿ããŠã¢ããã°ã¬ãŒãããããéåžžã«ããŸãæ©èœããŸãã ç§ã¯ãããäœããããŠã³ã°ã¬ãŒãããã®ãèŠãããšããããŸããããããŠå®éã«ã¯ããã¯éåžžã®äœ¿çšã®ããã«ããªãããŸãæ©èœããŸãã
condaã察åŠããªããã°ãªããªãããŠã³ã°ã¬ãŒãã®äŸã§ãããpipã¯å¯ŸåŠããŸãããpython3ã䜿çšããanacondaãŸãã¯minicondaã®ãŠãŒã¶ãŒã¯ãpython3.7ããéå§ããŸãã ãŠãŒã¶ãŒã¯ãPython3.6ã§ã®ã¿å©çšå¯èœãªãã®ãã€ã³ã¹ããŒã«ããå¿ èŠãããå ŽåããããŸãã ãœã«ããŒã¯ãPythonããã³ãã®ä»ãã¹ãŠã®énoarchããã±ãŒãžãããŠã³ã°ã¬ãŒãããå¿ èŠããããŸãã ããã¯ãPythonããŒãžã§ã³ã®å€æŽã«å¯ŸããŠç¹å¥ãªåäœãè¡ãããšã§æé©åã§ããå¯èœæ§ã®ããç¹æ®ãªã±ãŒã¹ã§ãããããããã±ãŒãžã®å€æŽã§å¥ã®ããã±ãŒãžãžã®ããŠã³ã°ã¬ãŒããå¿ èŠã«ãªãå¯èœæ§ãããããšã瀺ããŠããŸãã ããããŸã§ã®ãšããããŸããã£ãããšããã®ã¯éãæªãããšã§ãããå®éã«ãã€ãããŸãããããšã§ã¯ãããŸããã
ããŒãžã§ã³ã®å¶éã«ã€ããŠã¯ããœã«ãèªäœã«é©çšããããšã¯ã§ããŸããã ããªãã«ã¯å¶çŽããããã©ããªçš®é¡ã®ã1ã€ã®ããŒãžã§ã³ã§éããããšã¯ãããã±ãŒãžããšã«ç°ãªããããååã«äžè¬çã§ããããšãæåŸ ããããšã¯ã§ããŸããã ãã ãããœã«ããŒã®åã«ããŒãžã§ã³ããšã«ã¡ã¿ããŒã¿ãåãåãããšãã§ããŸãã ããããcondaã®ãcurrent_repodata.jsonãã§ãã ææ°ããŒãžã§ã³ã®ã¿ã ãããæ©èœãããšããããã¯ç©äºãæ¬åœã«éãããŸããããããããå¯äžã®ã¬ãããŒã¿ã§ãããªãã°äººã ã¯æ¬åœã«æãã§ãããã ç©äºã¯åçŸå¯èœã§ã¯ãªããããæ¥ã¯æ©èœããã¹ããã¯ã次ã®æ¥ã«ã¯æ©èœããªãå¯èœæ§ãããããšã«äžæºãæããã§ãããã å®å šãªãªããžããªããŒã¿ãžã®ãã©ãŒã«ããã¯ãæäŸããç¹å®ã®æç¹ã§å©çšå¯èœãªææ°ããŒãžã§ã³ã®ã¿ã䜿çšããŠãæéããŒã¹ã®ãµãã»ãããå°å ¥ããããšãèšç»ããŠããŸãã å©çšå¯èœãªã€ã³ããã¯ã¹ããŒã¿ã段éçã«éãããšã¯ãããã¯ãã©ããã³ã°ãœã«ããŒã䜿çšããå Žåã®ãã䟿å©ãªæŠå¿µã§ããå¯èœæ§ããããŸãã
pip
_ can_ã¯ç©äºãããŠã³ã°ã¬ãŒãããããšããã§ããŸãã
ããã¯å¯èœã§ã-pipã®å ŽåãããŠã³ã°ã¬ãŒãã¯ã¢ããã°ã¬ãŒãã®ãããªã¢ã³ã€ã³ã¹ããŒã«-ã€ã³ã¹ããŒã«ã¹ãããã§ãã ãããŠãæºããããã«æ±ããããå¶çŽãæ€åºãããšãããŠã³ã°ã¬ãŒãããŸãã
以äžã¯setuptoolsãããŠã³ã°ã¬ãŒãããŸã-ãããpipãæåã«èŠããã®ã§ããéãïŒ
pip install "setuptools < 20.0"
è¿·åã«ãªããªãããã«ããç§ãèãããšããžã±ãŒã¹ã¯ããã«ãããŸããã·ããªãªãæçš¿ããã®ã«æé©ãªå Žæã¯ã©ãã§ããïŒ
ããããšããç§ã¯ãããå¿ã«çããŠãããŸãã åèããŸããããç§ã®ãç çåŠççäŸãã¯å®éã«ã¯ããã»ã©ç çåŠçã§ã¯ãããŸããã ããã¯ã»ãšãã©ã®å Žåãããã±ãŒãžã®äŸåé¢ä¿ã¡ã¿ããŒã¿ãç¥ãããã«ãããã±ãŒãžãããŠã³ããŒãããŠè§£åããå¿ èŠããããšããäºå®ã®æ¥µç«¯ãªã±ãŒã¹ã§ããå Žåã«ãã£ãŠã¯ãããã«ãããå€ãã®ããã±ãŒãžã®ããŠã³ããŒããããªã¬ãŒãããããããæåŠãããå¯èœæ§ããããŸãã ããã¯ã察åŠããå¿ èŠã®ãããåçŽãªã€ã³ããã¯ã¹ããããã³ã«ã®éèŠãªå¶éã§ããå¯èœæ§ããããŸãããçŽæ¥ãªãŸã«ããŒã®åé¡ã§ã¯ãããŸããã
condaã察åŠããªããã°ãªããªãããŠã³ã°ã¬ãŒãã®äŸã§ãããpipã¯å¯ŸåŠããŸãããpython3ã䜿çšããanacondaãŸãã¯minicondaã®ãŠãŒã¶ãŒã¯ãpython3.7ããéå§ããŸãã ãŠãŒã¶ãŒã¯ãPython3.6ã§ã®ã¿å©çšå¯èœãªãã®ãã€ã³ã¹ããŒã«ããå¿ èŠãããå ŽåããããŸãã ãœã«ããŒã¯ãPythonããã³ãã®ä»ãã¹ãŠã®énoarchããã±ãŒãžãããŠã³ã°ã¬ãŒãããå¿ èŠããããŸãã ããã¯ãPythonããŒãžã§ã³ã®å€æŽã«å¯ŸããŠç¹å¥ãªåäœãè¡ãããšã§æé©åã§ããå¯èœæ§ã®ããç¹æ®ãªã±ãŒã¹ã§ãããããããã±ãŒãžã®å€æŽã§å¥ã®ããã±ãŒãžãžã®ããŠã³ã°ã¬ãŒããå¿ èŠã«ãªãå¯èœæ§ãããããšã瀺ããŠããŸãã ããããŸã§ã®ãšããããŸããã£ãããšããã®ã¯éãæªãããšã§ãããå®éã«ãã€ãããŸãããããšã§ã¯ãããŸããã
ãŸããéåžžã¯_ããŠã³ã°ã¬ãŒãããããªã_å ŽåããããŸãã ãŠãŒã¶ãŒãšããŠã¯ãããã±ãŒãžãå©çšã§ããªããšããäŸå€ãçºçããŸããå¿ èŠã«å¿ããŠã3.6ãæ瀺çã«ã€ã³ã¹ããŒã«ããŸãã
ãã1ã€ã®äŸã¯ããã£ãã«éã®äžæŽåã§ãã æè¿ã®äŸïŒPython 3.7.3ã䜿çšããŠããå Žåã base
ã¯3.7.4
$ãååŸããŸããã ç§ã¯ãããã®ããŒãžã§ã³ã®éããæ°ã«ããŸããããããŠã»ãšãã©ã®ãŠãŒã¶ãŒã¯æ°ã«ããŸããã ããã©ã«ãã®ãäœãããªããã¯ããã¡ãã£ãš.4 > .3
ããããã¢ããã°ã¬ãŒãããŠãããå¿
èŠã«å¿ããŠä»ã®ããã±ãŒãžã®ãã£ãã«ãbase
ã«å€æŽããŸãããïŒããŠã³ã°ã¬ãŒãããå Žåã§ãïŒããããã¯ããã«åªããŠããŸãã
å®å šãªãªããžããªããŒã¿ãžã®ãã©ãŒã«ããã¯ãæäŸããç¹å®ã®æç¹ã§å©çšå¯èœãªææ°ããŒãžã§ã³ã®ã¿ã䜿çšããŠãæéããŒã¹ã®ãµãã»ãããå°å ¥ããããšãèšç»ããŠããŸãã
ããã¯éåžžã«æçšãªæ¹åã®ããã«èãããŸãã
ã¡ã³ã¿ãªãã£ãšããŠã®ãã¬ããŒãžã€ã³ãã¬ããŒãžã¢ãŠããã®åé¡ã¯ããœã«ããŒã®ã¡ã³ãããšããŠãããã°ãæã£ãŠããããšã§ãã ãŽããšã¯äœãã«ã€ããŠéåžžã«åªãããã¥ãŒãªã¹ãã£ãã¯ããªãéããããªãã¯ç¡åã§ãã
ãããããã¯æ¬åœã§ãã ãã¹ãŠã®IDEããã£ã¹ããªãã¥ãŒã·ã§ã³ããŸãã¯ãããããã®ãã®ãžã®å ±éã€ã³ã¿ãŒãã§ãŒã¹ãã«ãã®åé¡ããããšæããŸãã
以äžã¯
setuptools
ããŠã³ã°ã¬ãŒãããŸã
ããã¯ããŠãŒã¶ãŒãèŠæ±ããããŠã³ã°ã¬ãŒãã§ãã éæ¥çãªãã®ã¯ç§ãæå³ãããã®ã§ãïŒäŸãã°ãpyproject.toml`ã®setuptools<20.0
ïŒã ãããããŸããããšæããŸãããå®éã«ã¯ãŸãã§ãã
ã¡ã³ã¿ãªãã£ãšããŠã®ãã¬ããŒãžã€ã³ãã¬ããŒãžã¢ãŠããã®åé¡ã¯ããœã«ããŒã®ã¡ã³ãããšããŠãããã°ãæã£ãŠããããšã§ãã
100ïŒ åæããŸããã ããã¯éåžžã«æ³šææ·±ãæ±ãããªããã°ãªããªããã®ã§ãã ããããéã«ãå€ããžã£ã³ã¯ã«å¯ŸããŠé©åãªåäœãå®è¡ããããšããããšã¯å®è¡å¯èœã§ã¯ãããŸãããã©ããã«ç·ãåŒãå¿ èŠããããŸãã
念ã®ããããã®è°è«ã¯ãæ¢åã®ãªãŸã«ããŒãç¡æéã«ä¿æããå¿ èŠããããã©ãããšãã質åã«ãã£ãŠåŒãèµ·ããããŸããã ãããã®ç¹ã®ãããããå®éã«ãã®è³ªåã«åœ±é¿ãäžãããã©ããã¯ããããŸãããæ¢åã®ãªãŸã«ããŒã¯æ£ãããããŸãããæãããèšããã®ã¯ã人ã ãæ £ã芪ããã§ããã®ã¯å£ããåäœã ãšããããšã§ãã ãããã£ãŠãç§ã¯äžèšã®ããšãæ¯æããŸããæåã®ç§»è¡æéãè¶ ããŠå€ããªãŸã«ããŒãä¿æããçç±ã¯ãããŸããã
ãããŠå®éã«ã¯ããŠãŒã¹ã±ãŒã¹ã®å€§éšåã«ã€ããŠãæ°æ§ã®ãªãŸã«ããŒã¯ãšã«ããåãçµæãããããå¯èœæ§ããããŸãã
ãŠãŒã¶ãŒãããªãã®å€æŽã«ãã£ãŠå£ãããšãããæ£ãããã¯ãŠãŒã¶ãŒã«ãšã£ãŠéèŠã§ã¯ãããŸããã åäœã®å€æŽã¯ãäžéšã®ãŠãŒã¶ãŒãå®å šã«æ¿æãããŸãã 圌ãã®ã¯ãŒã¯ãããŒãééã£ãŠããŠãå€æŽããå¿ èŠãããããšã圌ãã«äŒããããšã¯ãç§ã«ãšã£ãŠããã»ã©å¹æçãªæŠç¥ã§ã¯ãããŸããã§ããã è³ã§åŒŸãå¿ èŠããããšæããŸãã ç§ã¯ç¢ºãã«å€ããªãŸã«ããŒãæ°žä¹ ã«ç¶æãããã¯ãããŸããããããããä»ã®èª°ããæ¡çšããŠç¶æãããã©ã°ã€ã³ã«ãããªã©ããããç¶æããããã®ãã¹ã人ã ã«äžããå¿ èŠããããŸãã人ã ã¯ãããpipãšã¯å¥ã«ã€ã³ã¹ããŒã«ã§ããŸãã
å€ãããããã®ããã«æ£ããæ¯ãèãã解決ããããšããããšã¯å®è¡å¯èœã§ã¯ãããŸãã-ã©ããã«ç·ãåŒãå¿ èŠããããŸãã
ã¯ããã§ããå€ããžã£ã³ã¯ããšã¯äœã§ããïŒ äœããããåºå¥ããŸããïŒ æªããžã£ã³ã¯ãšè¯ããžã£ã³ã¯ã¯ã©ãã§ããïŒæ°ããæ¹ãåžžã«è¯ããšã¯éããªãããšã念é ã«çœ®ããŠïŒïŒ ç§ã®ã¢ããã€ã¹ã¯ããœã«ããŒãéåžžã«ãããã°å¯èœã«ããããã«å€ãã®æéãè²»ããããšã§ãã æªãã¡ã¿ããŒã¿ãåé¡ã§ããå Žåãããã³ãã®æªãã¡ã¿ããŒã¿ãäœã§ããããç°¡åã«èå¥ã§ããããã«ããŠãŒã¶ãŒïŒå°é家ãšããŠã®ããªãã ãã§ãªãïŒãç©äºã暪åãã«ãªã£ãŠããå Žæãç°¡åã«è¿œè·¡ã§ããããã«ããŸãã ããã¯çŸåšã»ãšãã©ã®ãŠãŒã¶ãŒãæã£ãŠããªãã¹ãã«ã§ãããæ£çŽãªãšãããç§ãèŠãã»ãšãã©ã®ãŠãŒã¶ãŒã¯ãã®ã¹ãã«ãæã¡ãããªããšæã£ãŠããŸãã ããªãïŒãŸãã¯ãã®ããšã«ã€ããŠã¯ã³ã³ãïŒããæªã察è¯ãã®å®å šã«æ£ç¢ºãªèªåãã¥ãŒãªã¹ãã£ãã¯ãæã€ããšãã§ãããšã¯æããªãã
ãŸããéåžžã¯ããŠã³ã°ã¬ãŒãããããªãå ŽåããããŸãã ãŠãŒã¶ãŒãšããŠã¯ãããã±ãŒãžãå©çšã§ããªããšããäŸå€ãçºçããŸããå¿ èŠã«å¿ããŠã3.6ãæ瀺çã«ã€ã³ã¹ããŒã«ããŸãã
@ rgommers ãconda4.7ã¯ããã«ç§»è¡ããŸãã-ãã€ããŒããŒãžã§ã³ãå€æŽããã«ã¯æ瀺çãªPythonä»æ§ãå¿
èŠã§ãã 人ã
ã¯ãããå«ã£ãŠããŸãã ããŒã«ã«ã®äººå£ã®äœåã®1ãã¯ããããŸããããå€ãã®äººã¯ã以åã¯conda install
ãã§ããã®ãæ¬åœã«å«ãã§ããããä»ã¯ã§ããŸããã 圌ãã¯çç±ãããŸãæ°ã«ãããçãã«ãã£ãŠã»ãšãã©æ··ä¹±ããŸãããããã§ãç§ãã¡ã¯æµæãæã£ãŠå¯ŸåŠããããšãã§ããŸãã ã®ã¡ããã©å¥ã®äŸ
ãŠãŒã¶ãŒãããªãã®å€æŽã«ãã£ãŠå£ãããšãããæ£ãããã¯ãŠãŒã¶ãŒã«ãšã£ãŠéèŠã§ã¯ãããŸããã
ãã1ã€ã®äŸã¯ããã£ãã«éã®äžæŽåã§ãã æè¿ã®äŸïŒPython 3.7.3ã䜿çšããŠããåŸãããŒã¹ã¯3.7.4ã«ãªããŸããã ç§ã¯ãããã®ããŒãžã§ã³ã®éããæ°ã«ããŸããããããŠã»ãšãã©ã®ãŠãŒã¶ãŒã¯æ°ã«ããŸããã ããã©ã«ãã®ãäœãããªããã¯ããã¡ãã£ãš.4> .3ããããã¢ããã°ã¬ãŒãããŠãããå¿ èŠã«å¿ããŠä»ã®ããã±ãŒãžã®ãã£ãã«ãããŒã¹ã«å€æŽããŸãããïŒããŠã³ã°ã¬ãŒãããå Žåã§ãïŒããããã¯ããã«åªããŠããŸãã
ããã¯ã¯ããã«è€éãªç¹ã§ãã åºæ¬çã«ãããŸããŸãªæé©ååºæºãææ¡ããŠããŸãã https://www.anaconda.com/understanding-and-improving-condas-performance/ã®ããã°æçš¿ã§çŸåšã®11ã®ã¹ããããèŠãããšããããããããŸããã
ãããã¯éåžžã«ããªãããŒã§ããããã¹ãŠã®ç¶æ³ãæºè¶³ãããã°ããŒãã«ãªæé©åã¯ãããŸããã ãã€ããªäºææ§ãšãåè¿°ã®äºææ§ã®å³¶ãšããŠã®ãã£ãã«ãèãããšããã£ãã«ã®åŒ·åãªåªå é äœã¯éåžžã«éèŠã§ãã Pythonã®ãã«ãã¯éèŠã§ã¯ãããŸãããããªãã¯æ£ããã§ãããçŸåšããã€ããªäºææ§å¶çŽãšãã¬ãŒã³ã§åçŽãªããŒãžã§ã³å¶çŽãè¡šçŸããæ¹æ³ã¯ãããŸããã ããªãã¯ãã ç©äºãæŸã£ãŠãããšããããªãã®èãã«ã€ããŠèããããã«ãããå¿ èŠãšããã§ãããã ããã§ãªããã°ãããªãã¯ããã«ãã€ããªã®éäºææ§ã®å°çã«ããã§ãããã
ããã«ã¡ã¯ããã®åé¡ã§ç§ã«èšåããŠããã@msarahanã«æè¬ããŸãã 以åã«ãã£ã€ã ã鳎ããããã£ãã®ã§ãããæéãèŠã€ãããŸããã§ããã
å®éãç§ã¯ã³ã³ãä»æ§ã®ãœã«ããŒãšããŠlibsolv
ã䜿çšããŠããªãå®éšããŸããã ãããŠãããã¯æ©èœããŸã-æ®ãã®éãã¯ãcondaã¯ãã«ãçªå·ãããŸãæ°ã«ããªããšããããšã§ãããã³ãŒãåãããæ¹æ³ã§ïŒãããŠããã¯ãã©ããã³ã°ãœã«ããŒã䜿çšããŠïŒlibsolvã¯æ©èœããŸãã å®å
šãªrepodataã䜿çšããŠããå Žåã§ããlibsolvã¯éåžžã«é«éã§ããlibsolvã®é床ã¯ãç
©ããããªãã»ã©é«éã§ãããšèšã£ãŠãéèšã§ã¯ãããŸãã:)
libsolvãžã®ç§ã®å€§ããªè²¢ç®ã¯ãã¯ãã¹ãã©ãããã©ãŒã äºæã«ããŠãWindowsãOS Xãããã³Linuxã§ã³ã³ãã€ã«ã§ããããã«ããããšã§ããã
ã³ã³ãã€ã«ãããã³ãŒãã®ãããã§ããïŒå°ãªããšãé«éã§ãïŒã @ mlschroeã圹ç«ã€å¯èœæ§ããããŸãããæ°ãããªãŸã«ããŒã«ã¯libsolv
ã䜿çšããããšãå®å
šã«æšå¥šããŸãã圌ã¯ãlibsolvã®ãµããŒãã§å€ãã®ããšãæ¯æŽããŸããã condamatchspecã
äžæ¹ã§ããªãŸã«ããŒã®éçºãã©ã®æ®µéã«ããã®ããããæé ããªã®ããã³ã³ãã€ã«ãããã³ãŒããåãå ¥ããããã®ãã©ããã¯ããããŸããã
https://www.anaconda.com/understanding-and-improving-condas-performance/ã®ããã°æçš¿ã§çŸåšã®11ã®ã¹ããããèŠãããšããããããããŸããã
確ãã«ç§ã¯ããŸããã ããã¯çŽ æŽãããããã°æçš¿ã§ããã
åºæ¬çã«ãããŸããŸãªæé©ååºæºãææ¡ããŠããŸãã
ããŸãã ããªãã®_ "ãã€ããªäºææ§å¶çŽãšãã¬ãŒã³ã§ã·ã³ãã«ãªããŒãžã§ã³ã®å¶çŽ" _ã¯ãããããç§ãèŠéããŠãããã®ãæã瀺ããŠãããšæããŸãã ç§ãæåŸ
ããŠããã®ã¯ãã¡ã¿ããŒã¿ã«python >= 3.7.4
ãŸãã¯== 3.7.4
ãå«ãŸããããã±ãŒãžã¯ãªããåžžã«== 3.7
ã§ãããšããããšã§ãïŒscipyããã§ãã¯ããã ãã§ã meta.yaml
ã¯python
ãšèšããŸãconda_forge.yml
ã¯max_py_ver: '37'
$ãšèšããŸã-çã«ããªã£ãŠããŸãïŒã ãããã£ãŠã 3.7.4
ãå°å
¥ããŠãäœãèµ·ãããŸãã-ãªãŸã«ããŒã3.7.3
ãéžæããä»ã«äœãå€æŽããªãããšã¯ã 3.7.4
ã匷å¶ããŠããªã¬ãŒãããããã¯ããã«å®äŸ¡ã§ãïŒãããŠ11ã®ã¹ãããã«åŸã£ãŠæå¹ã§ãïŒãã¢ãã/ããŠã³ã°ã¬ãŒãã®ãã§ãŒã³ã
ãã®éšåã¯pip
ã®å±éèšç»ã§è©±é¡ããå€ããŠãããšæããŸãã®ã§ããããå¥ã®å Žæã«æã£ãŠãã£ãŠãã ããã
ç§ã®ã¢ããã€ã¹ã¯ããœã«ããŒãéåžžã«ãããã°å¯èœã«ããããã«å€ãã®æéãè²»ããããšã§ãã
+1
ãŸããå¯èœãªéã修埩å¯èœã«ããŸãïŒä¿æããŸãïŒã ããã¯pip
ã®è¯ããšããã§ããéåžžãæ··ä¹±ããå Žåã¯cd site-packages && rm -rf troublesome_package
ãå®è¡ã§ãïŒãããã--no-deps
ã§åã€ã³ã¹ããŒã«ããåŸïŒãåé¡ã¯è§£æ±ºããŸãã conda
ã apt
ã®ãããªãã®ãå人ã¯ããã®æ¹æ³ã§ä¿®åŸ©ããã®ãã¯ããã«å°é£ã§ãã
åºæ¬çã«ãããŸããŸãªæé©ååºæºãææ¡ããŠããŸãã
ãã£ãã«ã®æŠå¿µãååã«èããŠãããšã¯æããŸããã ãããããããšãã©ãã»ã©é¢é£æ§ãããã®ãââããããŸããã ã³ã³ããããééããªãã¯ããã«å°ãªãã§ããããããå®å šã«ç¡é¢ä¿ã§ãããã©ããã¯ããããŸããã 人ã ã¯ãŸã äžåºŠã«è€æ°ã®ã€ã³ããã¯ã¹ããããã±ãŒãžãéããããšãã§ããŸãããïŒ
ããã±ãŒãžã«ã¯python> = 3.7.4ãã== 3.7.4ããããŸããã ã³ã³ãããã±ãŒãžã®æšæºã¯ãäžéãšäžéãèšå®ããããšã§ãã ãããã¯éåžžãäºææ§ã®ããç¯å²ãæ€èšããããŒãžã§ã³ã®å Žæã®æ°ã«é¢ããŠã¬ã·ãäœæè ããæäŸãããæ å ±ã䜿çšããŠãconda-buildã«ãã£ãŠèªåçã«æ±ºå®ãããŸãã ããã±ãŒãžã«ã¯> = 3.7.2ã<3.8.0a0ã®ãããªå¶çŽãããããã¬ãªãªãŒã¹ããŒãžã§ã³ã.0ãªãªãŒã¹æªæºã§ãããšããäºå®ã説æããããã«ã0a0ã®åä»ããããããããã£ãŠã人ã ãäžèŽããªã<3.8.0ä»æ§ã«äžèŽããŸããæ¬åœã«æåŸ ããŠããŸãã
ããã±ãŒãžã«ã¯ããã£ãã«ãé¢é£ä»ããããŠããŸãã ãã®ãã£ãã«ã¯äºå®äžããŒãžã§ã³æé©åã®äžéšã§ãïŒ https ïŒ//github.com/conda/conda/blob/4.6.7/conda/resolve.py#L1074-ãã£ãã«ã¯ã¹ãŒããŒããŒãžã§ã³ã®ãããªãã®ã§ãããã±ãŒãžã®ã¡ãžã£ãŒããŒãžã§ã³ã 解決ã«ãã£ãŠPythonãå€æŽãããªãå ŽåãPythonã®ä»æ§ãpython == 3.7ã«ããããšã¯ã§ããŸãããããã¯ç¯å²ã§ããããã£ãã«ã¯ãã®ç¯å²ã«åœ±é¿ããŸãã å
·äœçã«ã¯ãpython == 3.7ä»æ§ã§ã defaults
ãã£ãã«ããã®ã€ã³ã¹ããŒã«ããéå§ãã conda-forge
ãã£ãã«ãè¿œå ãããšãå€ãã®ãã£ãŒã³ãçºçããŸããããã¯ãæ°ããpythonããã±ãŒãžãå°å
¥ããããã§ãã ãããŒãžã§ã³ãïŒãã£ãã«ãå«ãïŒãé«ããPythonä»æ§ã¯ãã®å€æŽã蚱容ããŸãã
Conda 4.7ã¯ãã¹ããã¯ã®ã¯ããã«ç©æ¥µçãªãããªãŒãºããå°å ¥ããŸãããç§ã¯ãåäœãããªããæ±ããŠãããã®ã§ãããšç¢ºä¿¡ããŠããŸãã ããããããã¯ããªãè€éã§ãã ã€ãŸããæ瀺çãªä»æ§ãšç«¶åããªããã®ã ããããªãŒãºããããšã«ãªããŸãã ã察ç«ããã©ã®ããã«å€æããããé£ããéšåã§ãã ãœã«ããŒããŠãŒã¶ãŒã«ãã®ããã±ãŒãžã®äŸåé¢ä¿ã®ã°ã©ãã®äžéšã§ããææ°ã®ããã±ãŒãžãæäŸããã®ã劚ãããããªãã®ãããªãŒãºããªãæ¹ããããšæããŸãã ãã®åçµã¯ãã³ã³ãã§ã¯äžå¯èœãªæ¹æ³ã§ãããã®ä»æ§ããšã«å®è¡ã§ãããããèšåãã䟡å€ããããŸãã ããã¯ãããã¯ãã©ããã³ã°ãœã«ããŒã®åªããæé©åã«ãªããšæããŸãã
ãŸããå¯èœãªéã修埩å¯èœã«ããŸãïŒä¿æããŸãïŒã ããã¯ãpipã®åªããç¹ã§ããéåžžãæ··ä¹±ããå Žåã¯ãcd site-packages && rm -rftroublesome_packageïŒãããã--no-depsã䜿çšããŠåã€ã³ã¹ããŒã«ããïŒãå®è¡ã§ããåé¡ã¯è§£æ±ºããŸãã condaãaptãfriendsã®ãããªãã®ã¯ããã®æ¹æ³ã§ä¿®åŸ©ããã®ãã¯ããã«å°é£ã§ãã
ã¯ããããã¯éåžžã«éèŠã§ãã ãããã¯ç©äºãæ éã«å£²ã蟌ããšããè¯ãä»äºãããŠãããã®ã§ãå£ãã«ãããªã£ãŠãããšæããŸãã ããã¯éåžžã«è³¢æã§ãããã³ã³ãã¯ããããåŠãã§ããŸãã ã³ã³ãã€ã«ãããã³ãŒãã䜿çšããããšã«ãªã£ãå Žåã¯ãéçã«ãªã³ã¯ãããŠããããåçããŒãã«ãã£ãŠåé¡ãçºçããå¯èœæ§ããªãããšã確èªããŠãã ããã
ïŒlibsolvã¿ã³ãžã§ã³ãïŒä»¥åRHã§åããŠãããšããlibsolvãã«ãããã»ã¹ã¯çæããªããããhttpsïŒ//pypi.org/project/solv/ãååŸããŠFedoraã®ãpipinstallsolvãã»ãã¥ãªãã£ã®æãç©ŽãéããŸãããçŸæç¹ã§ã¯ãsdistãŸãã¯wheelã¢ãŒã«ã€ãã¯ãã¡ãããPyPIã«å ¬éããŸããçŸåšã®ç¡å®³ãªãã¬ãŒã¹ãã«ããŒã§ã¯ãªããlibsolvã®ãã³ãã«ã³ããŒã䜿çšããŠå®éã®ã©ã€ãã©ãªãã€ã³ãã£ã³ã°ãäœæããããšã«é¢å¿ããã人ãšãã£ããã§ããŸãïŒ
ããªããã¢ãŠããã³ã¡ã³ãã«é¢ããŠã¯ããå€ãã€ã³ã¹ããŒã«ããžãã¯ã«ãã©ãŒã«ããã¯ããããšããæå³ã§ã¯ãªãããã€ã³ã¹ããŒã«ãªã¯ãšã¹ãå šäœã倱æãããã®ã§ã¯ãªããå¶çŽéåã®åå ãšãªãããã±ãŒãžã®ã€ã³ã¹ããŒã«ãã¹ããããããªãã·ã§ã³ãæäŸããããšããæå³ã§ãã
Yum / DNFã¯ã --skip-broken
ãªãã·ã§ã³ãä»ããŠãããæäŸããŸãïŒDNFã§ã¯ããã®ãã©ã°ã¯--setopt=strict=0
ã®ãšã€ãªã¢ã¹ã§ãïŒã pip
ã®ãªãŸã«ããŒãåæ§ã®ãªãã·ã§ã³ãæäŸããå¿
èŠããããšæããŸãã
@ncoghlanããããã ãã ããã¯çã«ããªã£ãŠããã
ããã®ããã±ãŒãžã®ããŒãžã§ã³ã®ç«¶åãç¡èŠãããã¹ã¿ã€ã«ãªãã·ã§ã³
ããããããšã¯ãã§ã«è¿°ã¹ãã®ã§ãããªãã®ã³ã¡ã³ãã«æžæããŸããã
ãã®æãç§ãã¡ã¯åãããŒãžã«ããŸãã :)
@ncoghlanã¯ã distutils-sigã§ææ¡ãããã¿ã€ã ã©ã€ã³ã«è¿ä¿¡ããåççã«èããããšè¿°ã¹ãŸããã
@ pradyunsg-次ã®æ¯æã®æŽæ°ã楜ãã¿ã«ããŠããŸãïŒ
ç§ã¯ãããããäžåºŠèŠãŠæéããããŠãïŒ7317ãæåºããŸããã
æœè±¡åã¯ã»ãŒå®äºããŠãããšæããŸããpipã®ã€ã³ããã¯ã¹ã®çžäºäœçšãäŸåé¢ä¿ã®è§£æ±º+ãã«ãããžãã¯ã®åé¢ãããã³äžé£ã®äžè¬çãªã¯ãªãŒã³ã¢ããã«é¢ããå€ãã®äœæ¥ã®ãããã§ãã
ïŒ7317ãéããŸããã ç§ã®ç¥ãéããäŸåé¢ä¿ã®è§£æ±ºã¯ã¡ã¿ããŒã¿ãã«ãããžãã¯ããïŒååã«ïŒåãé¢ãããŠããŸãã ãã«ãããžãã¯ã®ãªãã¡ã¯ã¿ãªã³ã°ã¯é 調ã«é²ãã§ãããä»åŸã®é²æ©ã劚ãããã®ã§ã¯ãªããªããŸããã
ããã§ã[passa]ãšå¿ èŠã«å¿ããŠè©©ã®ãªãŸã«ããŒããåç §ããŠãpipã§ã®[resolvelib]æœè±¡åã®å®è£ ã«åãââæããããšãã§ããŸãã :)
@pradyunsg Poetryã³ãŒãããŒã¹ããããŒã¹ãªãŸã«ããŒïŒPubGrubã«åºã¥ãïŒãæœåºããããšãèšç»ããŠããŸãïŒhttps://github.com/sdispater/poetry/tree/master/poetry/mixologyãåç §ïŒã ã»ãšãã©ã®å Žåãã³ãŒãã®æ®ãã®éšåããåãé¢ãããŠããŸãããæœè±¡åããå¿ èŠã®ããå éšéšåãžã®åç §ããŸã ãããŸãã
ããªãããããæäŒãããšã«èå³ããããªããç§ã«ç¥ãããŠãã ããã ã¢ã€ãã¢ã¯ããµãŒãããŒãã£ã䜿çšã§ããPubGrubã¢ã«ãŽãªãºã ã®ã¹ã¿ã³ãã¢ãã³å®è£ ãçšæããçŸåšå€ããªãŸã«ããŒã®ã³ãŒããä¿æããŠããhttps://pypi.org/project/mixology/ã«é 眮ããããšã§ãã
@sdispaterééããªãïŒ ç§ãçŽæ¥å©ããããšãã§ãããã©ããã¯ããããŸãããïŒæéã®å¶çŽïŒãPubGrubããŒããä»ã®è©©ããåãé¢ãããšãã§ããã°çŽ æŽãããã§ãããïŒ
æ¬åœã«çŽ æŽãããããšã®1ã€ã¯ãpipãpoetryãpipenvãåãæœè±¡åã䜿çšããããã«ãäžè²«ããæœè±¡åã¬ã€ã€ãŒãæã€ããšã§ãã çŸåšãzazoïŒmineïŒãmixologyïŒpoetry'sïŒãresolvelibïŒpipenv'sïŒããããŸãããããã¯ãã¹ãŠãããçš®ã®æœè±¡åã¬ã€ã€ãŒãå®çŸ©ããŠããããããã«ç°ãªããŸããïŒã°ãããŠïŒïŒäŒŒãŠããŸãã ããªããããã«ãªãŒãã³ã§ãããªãã°ãç§ãã¡ã«ç¥ãããŠãã ããïŒ
åèãŸã§ã«ãç§ãã¡ïŒ @wolfv ãããã³äžè¬çã«ã¯@QuantStackããŒã ïŒã¯ãpipäŸåé¢ä¿ãªãŸã«ããŒã®RfPã«å¿çããŸããã
ææ¡ãããŠããã¢ãããŒãã¯ã libsolv
Cã©ã€ãã©ãªãæ¡çšããpipã®ããŒãžã§ã³å¶çŽåœ¢åŒã®ãµããŒããlibsolvã«æäŸããããšã§ãã æ°ããPythonãã€ã³ãã£ã³ã°ãä»ããŠCã©ã€ãã©ãªãå
¬éããŸãã
Libsolvã¯ãRPMãšã³ã·ã¹ãã ã®åºç€ãšãªã匷åãããã©ã€ãã©ãªã§ããããããã§ã«ç£æ¥èŠæš¡ã§äœ¿çšãããŠããŸãã
rpm
ã deb
ãªã©ã®è€æ°ã®ããã±ãŒãžãšãªããžããªåœ¢åŒããµããŒãããŠããŸããhaiku
ã conda
ã arch
ã éèŠãªã®ã¯ãããŸããŸãªåœ¢åŒãšè¡šçŸæ¹æ³ã§ãææ¡ãããŠããã¢ãããŒãã¯ãlibsolvCã©ã€ãã©ãªãæ¡çšããããšã§ãã
libsolvããµããŒãããŠããªããã©ãããã©ãŒã ã®ãã©ãŒã«ããã¯ãå¿ èŠã«ãªããŸãïŒããšãã°ãpipã§ã®AIXãµããŒãã¯ç©æ¥µçã«åãçµãã§ãããBSDã«ã€ããŠã¯èšåããŠããŸããïŒã ãããã£ãŠãå©çšå¯èœãªå Žåã®ããã©ãŒãã³ã¹ãªãã·ã§ã³ãšããŠã®libsolvã¯ç§ã«ã¯ãã£ãšããããã§ãããå®éã«ã¯ããã ãã䜿çšããç«å Žã«ã¯ãããŸããã ïŒlibsolveã®çŽç²ãªPythonããŒãžã§ã³ãã€ãŸãåãçµæããããããã®ããããŸããïŒïŒ
ãŸããget-pip.pyã¯ã©ã®ããã«æ©èœããŸããïŒ èãããããã¹ãŠã®ãã©ãããã©ãŒã ã®libsolvã®ãã€ããªãå«ããå¿ èŠããããŸããïŒ ç¹°ãè¿ããŸãããç§ã¯ããã§ã¯ãªããšæããŸããç§ãã¡ã¯çŽç²ãªPythonãã©ãŒã«ããã¯ã䜿çšããŸãã
å€éšã®Cã³ãŒãã䜿çšã§ããªãããšã¯ãé·ãépipã«ãšã£ãŠåä»ãªããšã§ããã è¯ã解決çãèŠããã®ã§ãããïŒaïŒïŒå®å šã«ãã³ããŒãæé€ã§ãããããããããããŒãã¹ãã©ãããŒãœãªã¥ãŒã·ã§ã³ã®åœ¢åŒãäžè¶³ããŠããïŒãã®ããããã©ããã¯ããããŸãããïŒbïŒããã¯ç§ãããã«äŸåããæ°ãããªãŸã«ããŒãå«ãã»ã©å€§ããªäœåã§ãã
ããã«ã¡ã¯@pfmoore
libsolvã¯ããªãåçŽãªCã³ãŒãã§ãããããè¿œå ã®ãã©ãããã©ãŒã ãµããŒããå®çŸããã®ã¯ããã»ã©é£ããããšã§ã¯ãªããšæããŸãã libsolvã®çŽç²ãªPythonããŒãžã§ã³ã¯ãªããšç¢ºä¿¡ããŠããŸãïŒããã¯æ¬ ç¹ã ãšç解ããŠããŸãããPythonã®çŽç²ãªPythonããŒãžã§ã³ãPythonæšæºã©ã€ãã©ãªããããŸããããããã£ãŠãç§ã®èãã§ã¯ããããã«ãŒïŒã
ããŒãã¹ãã©ããã®å ŽåãçŸåšã®ã¡ã«ããºã ã䜿çšããŠè§£æ±ºããçŽç²ãªPython pipã䜿çšã§ããŸããããã«ãããlibsolvã«åºã¥ããŠå¿ èŠãªãªãŸã«ããŒlibãã€ã³ã¹ããŒã«ãããŸãã ããšãã°ãlibsolv + pipåºæã®Pythonãã€ã³ãã£ã³ã°ã®æ£ç¢ºãªããã±ãŒãžãåºå®ãã説æããããã«ãboostrap-pipããããããã€ã³ã¹ããŒã«ã§ããŸãã ããã¯ç§ã«ã¯å®å šã«å®è¡å¯èœã«èãããŸãããäœãé¢ä¿ãããããã£ãšããç¥ã£ãŠãããããããŸãã...
è¿œå ã®ãã©ãããã©ãŒã ãµããŒããå®çŸããã®ã¯ããã»ã©é£ããããšã§ã¯ãªããšæããŸã
æ確ã«ããããã«ãç§ã¯ããããããªãã©ãããã©ãŒã ã«æ¢åŸæš©ãæã£ãŠããŸãããpipããµããŒããããŠãããã©ââãããã©ãŒã ïŒçŸæç¹ã§ã¯åºæ¬çã«ãPythonãå®è¡ã§ãããã®ãïŒã«åœ±é¿ãäžãããã©ãããéåžžã«æ確ã«ããå¿
èŠããããšæããŸãã ïŒã Cæ¡åŒµæ©èœãã©ã®ããã«åºè·ããããšããå±éã®åé¡ããããŸãïŒpipã¯çŸåšããŠãããŒãµã«ããã€ãŒã«ãšããŠåºè·ãããŠããããã get-pip.py
ãªã©ã®äžéšã®ãŠãŒã¹ã±ãŒã¹ã§ã¯éèŠã§ãïŒã
ããŒãã¹ãã©ããã«ã€ããŠã¯ãçŸåšã®ã¡ã«ããºã ã䜿çšããŠè§£æ±ºããçŽç²ãªPythonpipã䜿çšã§ãããšæããŸã
ç§ã¯äžã§è°è«ããŸããããããŠç§ã¯ããã§ãããç¹°ãè¿ããŸããç§ã¯æ¬åœã«ãããã§2ã€ã®ãªãŸã«ããŒãç¡æéã«ç¶æããå¿ èŠã¯ãããŸããã
ããããç§ã¯ææ¡ã«ã€ããŠããŸãåŠå®çã«ãªããããããŸãã-ããªããæ°ã¥ããŠããªãå Žåã«åããŠãçŸåšCæ¡åŒµæ©èœãžã®äŸåãèš±å¯ããŠããªãçç±ã®ããã€ãã«ãã©ã°ãç«ãŠãããšæããŸããã
è°è«ã¯ããããä»ã®å Žæã«é©ããŠããŠã詳现ãæããã«ãªã£ãå Žåã¯å®å šã«åé·ã«ãªãå¯èœæ§ããããŸãããç§ã¯ä»ãç§ã®è³ªåãæ¬åœã«åºããããšæããŸãã
ç§ã®ç解ã§ã¯ãlibsolvã¯äŸåé¢ä¿ã®è§£æ±ºã«å®å
šãªSATãœã«ããŒã䜿çšããŠããã解決ãéå§ããåã«ãŸãäŸåé¢ä¿æ
å ±ãããŒãããå¿
èŠããããŸãã ãã ããçŸåšã®PyPIã¯ãããã±ãŒãžããšã«äŸåé¢ä¿ã®ã¡ã¿ããŒã¿ãæ ŒçŽããŠããŸãã setup.py
ã®å®è¡æéã«äŸåããæ§è³ªãç¡èŠããŠããSATãœã«ããŒã«å¿
èŠãªæ
å ±ãå¹ççã«ååŸããããšã¯å°é£ã§ãã
ãã®åé¡ãã©ã®ããã«åŠçããäºå®ã§ããïŒ ããã±ãŒãžã®ã¢ããããŒãæã«.solv
ãã¡ã€ã«ãçæããããã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãå®è£
ããïŒããã³ãµãŒãããŒãã£ã®ãªããžããªå®è£
ã®è¿œå ä»æ§ãææ¡ããïŒäºå®ã¯ãããŸããïŒ ãŸãã¯ããœã«ããŒãé²ãã«ã€ããŠé©åãªè§£æ±ºå¯èœãªããŒã¿ãçæããããã®æŠç¥ããããæ°ããäŸåé¢ä¿ããŒã¿ãå
¥ã£ãŠãããšãã«ããã¯ãã©ãã¯ãå®è£
ããå¯èœæ§ããããŸããïŒ
ç§ã¯ãã®ç¹ã«é¢ããæ¢åã®äœæ¥ãèªèããŠããŸãããç§ãèŠã€ããããšãã§ããã»ãšãã©ã®ãªãœãŒã¹ã¯ãPythonããã±ãŒãžã³ã°ã©ã³ãã¹ã±ãŒããã¹ãã¬ãŒãã¢ããSATãœã«ããŒä»¥äžã®ãã®ãå¿ èŠãšããŠããããšã瀺åããŠããŸãã ã ããç§ã¯ããã§ã©ããªå¯èœæ§ã«ãéåžžã«èå³ããããŸãã
ãããã®.solvãã¡ã€ã«ã¯ãã£ãã·ã¥çšã§ãããlibsolvã¯è§£æ±ºã®ããã«ããããå¿ èŠãšããŸããã ããããPyPIã®äŸåé¢ä¿ã®åçãªæ§è³ªã«ãããSATãœã«ããŒã®äœ¿çšãå°é£ã«ãªãããšã«åæããŸãã
ïŒè©³çŽ°ã«ã€ããŠã¯ãhttpsïŒ//docs.google.com/document/d/1x_VrNtXCup75qA3glDd2fQOB2TakldwjKZ6pXaAjAfg/editãåç §ããŠãã ããïŒ
ïŒSATãœã«ããŒã¯ã競åãçºçããå Žåã«å¥ã®åŠç¿ãè¡ãåãªãããã¯ãã©ããã³ã°ãœã«ããŒã§ãããããPyPIã«SATãœã«ããŒã䜿çšããããšã¯å¯èœã ãšæããŸãããã ããå¥ãåçã«è¿œå ã§ãããœã«ããŒã§ããå¿ èŠããããŸãã解決ããªãããïŒ
åãœã«ããŒã«ã¯ãåçè¿œå ãåèµ·åãããã¯ãã©ãã¯ãã©ã³ãã åèµ·åãªã©ãæè¿ããã€ãã®éèŠãªæ©èœããããŸããããããããã§ã®èª²é¡ã¯ãæ§ç¯ã§ããä¿èšŒããªããã©ãããã©ãŒã ããµããŒãããå¿ èŠæ§ã«é¢é£ããæè¡çãªèª²é¡ã«ãªããšæããŸãã CããŒã¹ã®ãœã«ããŒã
ç§ã¯ä»ç©ºæž¯ã«ããã®ã§ãä»æèµ·ããããã€ã³ãã«çããããšã¯ã§ããŸããã...ããã§æè¡çãªéžæ/ãã¬ãŒããªãã«ã€ããŠè°è«ããã¹ãã§ã¯ãªããšç¢ºä¿¡ããŠããŸã-ããã¯ããç¯å²ãåºãã§ãããŒã«ã¢ãŠããšããŒã«ã¢ãŠãã®ã³ãã¥ãã±ãŒã·ã§ã³ãšç®¡çã®æ¹æ³ã :)
æè¡çãªãã¬ãŒããªãã«ã€ããŠããã«è°è«ããããã«ïŒ7406ãæåºããŸãã- @ sdispater ã @ techalchemy ã @ uranusjr ã@ wolfvãªãŸã«ããŒèšèšã®ããŸããŸãªéžæã«ã€ããŠããã«è°è«ã§ããã°å¹žãã§ãã
æ©ã段éã§æåŸ ãèšå®ããããã«ãç§ã¯æ¬¡ã®2é±éæ è¡ããã€ããã§ãããããŸãããã°ã12æ9æ¥ãŸã§ã®ãã¹ãŠã®è°è«ã«è¿œãã€ãããšãã§ããã§ãããã
ã¹ããŒã¿ã¹ã®æŽæ°ïŒPSFã¯ãMozillaãªãŒãã³ãœãŒã¹ãµããŒããšChan Zuckerberg Initiativeããè³éã調éããŠãpipãªãŸã«ããŒãšé¢é£ãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®åé¡ã«åãçµãè«è² æ¥è ãéãããšãã§ããŸããã ç§ãã¡ã®ããŒããããïŒç§ã磚ãå¿ èŠããããŸãïŒãšããã°ãšãã©ãŒã©ã ããããŠæè¿ã®äŒè°ããã®ã¡ãŒãªã³ã°ãªã¹ãã®æçš¿ãšã¡ã¢ãèŠãŠãéç¥ãç¶ããããšãã§ããŸãã ããã«ã€ããŠã¯ãããã«distutils-sigãšPythonã®Discourseã€ã³ã¹ã¿ã³ã¹ã®Packagingãã©ãŒã©ã ã«æçš¿ããäºå®ã§ãã
7æã®pip20.2ã§ã®ãªãªãŒã¹ã«åããŠãpipã®ãªãŸã«ããŒæ©èœãæºåããããšãç®æããŠããŸãã ïŒãããã®ååæãªãªãŒã¹ã±ã€ãã³ã¹ããšã«ãäºæããªãåé¡ã次ã®ååæã®20.3ãŸã§é ããå¯èœæ§ããããŸããïŒ
@uranusjr ïŒ
ç§ã®ç解ã§ã¯ãlibsolvã¯äŸåé¢ä¿ã®è§£æ±ºã«å®å šãªSATãœã«ããŒã䜿çšããŠããã解決ãéå§ããåã«ãŸãäŸåé¢ä¿æ å ±ãããŒãããå¿ èŠããããŸãã ãã ããçŸåšã®PyPIã¯ãããã±ãŒãžããšã«äŸåé¢ä¿ã®ã¡ã¿ããŒã¿ãæ ŒçŽããŠããŸãã setup.pyã®å®è¡æéã«äŸåããæ§è³ªãç¡èŠããŠããSATãœã«ããŒã«å¿ èŠãªæ å ±ãå¹ççã«ååŸããããšã¯å°é£ã§ãã
ïŒ7819ã®ãããã¿ã€ãpip resolve
ã³ãã³ãã¯ã2ã€ã®ææ³ã䜿çšããŠããã®æ
å ±ãããã©ãŒãã³ã¹çã«ååŸããŸãïŒè©³çŽ°ã«ã€ããŠã¯ããã®åé¡ãåç
§ããŠãã ããïŒã
ïŒ1ïŒã§äœ¿çšãããææ³ã¯ããã€ãŒã«ã®ã³ã³ãã³ãèªäœã®æ°KBã®ã¿ãããŠã³ããŒãããªããããã€ãŒã«ã®URLãéåžžã«è¿
éã«äŸåããèŠä»¶æååã®ãªã¹ãã«å€æããããšãã§ããŸãã 次ã«ãïŒ7819ã®ãããã¿ã€ãã¯ã self._resolve_one()
ã«ãã£ãŠè¿ãããäŸåèŠä»¶ããšã«req.populate_link()
ãåŒã³åºãããããã«ãã (==Requirement, url) -> [list of (==Requirement, url) non-transitive dependencies]
ã®ãããã³ã°ãæ°žç¶çãªjsonãã£ãã·ã¥ãã¡ã€ã«ã«ä¿åããŸãã ïŒ1ïŒæ°ããæ
å ±ããã°ããååŸããïŒ2ïŒå€ãæ
å ±ã®ã¯ãšãªãé«éåããŸãã
ç§ã¯ãŸã libsolvã«ç²ŸéããŠããŸããããèŠä»¶URLããäŸåé¢ä¿ãžã®ãã®ãããã³ã°ã®ãšã³ããªãšãããã®URLã¯ãSATãœã«ããŒã«å¿
èŠãªã¢ãããã¯å
¥åãšãŸã£ããåãã§ããå¯èœæ§ããããŸãã ïŒ7189ã«ç€ºãããŠããããã«ãæ°žç¶çãªjsonäŸåé¢ä¿ãã£ãã·ã¥ãã¡ã€ã«ã«ãããæåã®å®è¡åŸã«pip resolve
ã®åŒã³åºããå®å
šã«ããŒãªãã¬ãŒã·ã§ã³ã«ãªãããã以éã¯ã³ãã³ãã©ã€ã³ã§800ã900ããªç§ããããŸãã ïŒ1ïŒãšïŒ2ïŒã®ææ³ã䜿ãã°ãä¿¡ããããªãã»ã©é·ãæéãåŸ
ããã«ãpipãåŒã³åºããããã³ã«SATãœã«ããŒãå®è¡ããŠå®äºããããšãã§ãããšæããŸãã ãã®æ°ãããå
·äœçã«ããããã«ãïŒ7189ã®ãããã¿ã€ãã®äžã§libsolvããããã³ã°ããããšãè©Šã¿ãã®ã¯ããããããã»ã©é£ããããšã§ã¯ãªãã§ãããã
@techalchemy ïŒ
åãœã«ããŒã«ã¯ãåçè¿œå ãåèµ·åãããã¯ãã©ãã¯ãã©ã³ãã åèµ·åãªã©ãæè¿ããã€ãã®éèŠãªæ©èœããããŸããããããããã§ã®èª²é¡ã¯ãæ§ç¯ã§ããä¿èšŒããªããã©ãããã©ãŒã ããµããŒãããå¿ èŠæ§ã«é¢é£ããæè¡çãªèª²é¡ã«ãªããšæããŸãã CããŒã¹ã®ãœã«ããŒã
以åã¯ãã³ã³ãã€ã©ãšãªã³ã«ãŒãsetup.py
ããŒã¹ã®ãããžã§ã¯ãïŒïŒ 6273 ïŒã«ç°¡åã«å
¬éã§ããã³ãŒããå«ãŸããŠããŸãããããã«ããå¯èœã«ããããã«ãåŸã§ãããåé€ããŸããïŒïŒ7016ãåç
§ïŒã setup.py
ã䜿çšããªããã³ãã®C / C ++ãããã¯ã TensorFlowã«ã¹ã¿ã æŒç®åã®å
±æã©ã€ãã©ãªãæ§ç¯ããã ãã§ããTwitterå
ã®ãŠãŒã¹ã±ãŒã¹ã«é©ããŠããŸããã éçã«ãªã³ã¯ãããGCCããã³binutilsã¢ãŒã«ã€ãçšã®ãã«ãæžã¿ãã€ããªãOSXããã³Linuxçšã®s3ã§ãã¹ããïŒhttps://github.com/pantsbuild/binaries/ãåç
§ïŒããã³ããŠãŒã¶ãŒãPythonãšJDK以å€ã®ãã®ãã€ã³ã¹ããŒã«ããå¿
èŠããªãããã«ããŸãããã³ãã䜿ãã®ã«ã
ãµããŒããããŠãããã¹ãŠã®ãã©ãããã©ãŒã ã§pipãlibsolvã«ç¢ºå®ã«äŸåã§ããããã«ãããCããã³C ++ã移æ€å¯èœã«æ§ç¯ããããã®ããããã¿ã€ãã®ããŒã«ã®ãã¬ã€ã³ã¹ããŒãã³ã°ããã³/ãŸãã¯éçºãæ¯æŽããããšã«èå³ããããŸãã
@cosmicexplorer
以åã¯ãã³ã³ãã€ã©ãšãªã³ã«ãŒãsetup.pyããŒã¹ã®ãããžã§ã¯ãïŒïŒ6273ïŒã«å ¬éããããããã³ãŒããå«ãŸããŠããŸããããC / C ++ã®ãã«ããå¯èœã«ããããã«ãåŸã§ãããåé€ããŸããïŒïŒ7016ãåç §ïŒã setup.pyã䜿çšããã«ãTensorFlowã«ã¹ã¿ã æŒç®åã®å ±æã©ã€ãã©ãªãæ§ç¯ããã ãã§ããTwitterå ã®ãŠãŒã¹ã±ãŒã¹ã«é©ããŠããŸããã OSXããã³Linuxçšã®s3ã§éçã«ãªã³ã¯ãããGCCããã³binutilsã¢ãŒã«ã€ãçšã®ãã«ãæžã¿ãã€ããªããã¹ãããŸãïŒpantsbuild / binaryãåç §ïŒãããã«ããããã³ããŠãŒã¶ãŒã¯pythonãšJDK以å€ã®ãã®ãã€ã³ã¹ããŒã«ããŠãã³ãã䜿çšããå¿ èŠããªããªããŸãã
ã³ã³ãã€ã©/ãªã³ã«ãŒã®äœæ¥ã¯éåžžã«èå³æ·±ããã®ã§ãã ã³ã³ãã€ã©ãsetup.pyïŒãŸãã¯äžè¬ã«PEP 517ãã«ãããã¯ãšã³ãïŒããåé¢ããããšã«ã€ããŠã®è°è«ããããŸãã ããã¯å®éã«ã¯ãªãŸã«ããŒãšã¯é¢ä¿ãããŸãããïŒå°ãªããšãçŽæ¥ã§ã¯ãããŸããïŒãèå³ããããããããŸããïŒ https ïŒ//discuss.python.org/t/how-do-we-get-out-of-the-business-of-
@cosmicexplorer
ãµããŒããããŠãããã¹ãŠã®ãã©ãããã©ãŒã ã§pipãlibsolvã«ç¢ºå®ã«äŸåã§ããããã«ãããCããã³C ++ã移æ€å¯èœã«æ§ç¯ããããã®ããããã¿ã€ãã®ããŒã«ã®ãã¬ã€ã³ã¹ããŒãã³ã°ããã³/ãŸãã¯éçºãæ¯æŽããããšã«èå³ããããŸãã
ç§èªèº«ãš@wolfvã¯ããã³ãã§ãµããŒããããŠãããã¹ãŠã®äž»èŠãªãã©ãããã©ãŒã ã§DNFããã±ãŒãžãããŒãžã£ãŒã¹ã¿ãã¯ã®äžéšãæ§ç¯ããããã«ãããæ€èšããŠãããDNFã§ã®ç§èªèº«ã®å人çãªäœæ¥ãè¡ã£ãŠããŸãã ãã®æç¹ã§ãlibsolvã¯WindowsãLinuxãmacOSãBSDãHaiku OSåãã«æ§ç¯ã§ããããã«ãªããŸãããç§ã¯ãUNIXã§DNFã䜿çšããäžç°ãšããŠãããŸããŸãªUNIXã·ã¹ãã ã«libsolvãé
眮ãããŠããããšãæŒ ç¶ãšèªèããŠããŸãã @dralleyã¯ãPyPI manylinux2014
ã䜿çšããŠãPyPIãLinuxã§ãµããŒãããããäž»èŠãªãã©ãããã©ãŒã ã§solv
ãã€ããªãã€ãŒã«ãå©çšã§ããããã«ããããšãç¥ã£ãŠããŸãã
çŸåšãpip 20.1b1ããªãªãŒã¹ãããŠããŸããããã¯ãæ°ãããªãŸã«ããŒã®éåžžã«åæã®ïŒã¢ã«ãã¡ïŒããŒãžã§ã³ãå«ãããŒã¿ãªãªãŒã¹ã§ãïŒãã®ã³ã³ããã¹ããšã人ã ããã£ãŒãããã¯ãæäŸã§ãã調æ»ã«ã€ããŠã¯ãïŒ8099ãåç §ããŠãã ããïŒã ãããçºè¡šã§ãã ãŸãã httpsïŒ //github.com/pypa/pip/issues/7951#issuecomment -617851381ã«ã¯ããããŸã§ã«ããŒã¿çãå ¬éããå Žæãããã€ãèšèŒãããŠããŸãã
pip 20.1ããªãªãŒã¹ããããªãŸã«ããŒã®ã¢ã«ãã¡ããŒãžã§ã³ãå«ãŸããŠããŸãã
5æã«å¥ã®pipãªãªãŒã¹ãå ¬éããããšãæ€èšããŠããŸããããã«ã¯ããªãŸã«ããŒã®ããã«ã¢ã«ãã¡çãå«ãŸããŠããŸãã ãããŠãæ°ãããªãŸã«ããŒã®ããŒã¿çããã€ãªãªãŒã¹ãããããããã¹ãããŠãã ããããšããããã·ã¥ããã€è¡ãããèããŠããŸãã
ïŒ8371ãç¹å®ã®ãšã©ãŒã¡ãã»ãŒãžãããé©åã«è¡šç€ºããæ¹æ³ãããã³ä»ã®å€ãã®åä»ãªãã®ãåŠçããæ¹æ³ãç解ããŠãããšãã«ãé 延ãçºçããŸããã é²æç¶æ³ã®è©³çŽ°ã«ã€ããŠã¯ã httpsïŒ//github.com/pypa/pip/projects/6ããã³https://github.com/pypa/pip/projects/5ãåç §ããŠãã ããã ïŒ8206ã¯ã次ã®ããŒã¿çã§ããpip 20.2b2ã«ã€ããŠã®ãã£ã¹ã«ãã·ã§ã³ã§ããããã¯ã6ææ«ãŸã§ã«å ¬éã§ããããšãé¡ã£ãŠããŸãã
PSFããã°ã«å¹Žå€®å ±åãæ²èŒããŸããã ç¥ã£ãŠããã¹ãéèŠãªããšã®1ã€ã¯ãä»æåŸåã«pip 20.2ããªãªãŒã¹ããäºå®ã§ããããã«ã¯ããªãã·ã§ã³ã®ãã©ã°ã --use-feature=2020-resolver
ããä»ããŠå©çšã§ããæ°ããäŸåé¢ä¿ãªãŸã«ããŒã®ããŒã¿ããŒãžã§ã³ïŒpip 20.1ã«ã¯ã¢ã«ãã¡ããŒãžã§ã³ããããŸãïŒããããŸãã ç§ãã¡ã¯pip20.2ãããããå
¬è¡šããå€ãã®ãŠãŒã¶ãŒã«æ°ãããªãŸã«ããŒããã®ããŒã¹ã«ä¹ããããã«äŸé ŒããŸãã
ïŒ8511ã«åŸã£ãŠã pip20.2ããªãªãŒã¹ããŸããã ãã®ãªãªãŒã¹ã«ã¯ã次äžä»£ã®äŸåé¢ä¿ãªãŸã«ããŒã®ããŒã¿çãå«ãŸããŠããŸãã äºææ§ã®ãªãåœä»€ãåä¿¡ãããšã倧å¹
ã«å³å¯ã§äžè²«æ§ãé«ãŸããç¹å®ã®çš®é¡ã®å¶çŽãã¡ã€ã«ã®ãµããŒããæžå°ãããããäžéšã®åé¿çãšã¯ãŒã¯ãããŒãæ©èœããªããªãå¯èœæ§ããããŸãã --use-feature=2020-resolver
ãã©ã°ã䜿çšããŠãã¹ãããŠãã ããã ãã¹ããšç§»è¡ã®æ¹æ³ãããã³åé¡ã®å ±åæ¹æ³ã«ã€ããŠã¯ãã¬ã€ããã芧ãã ããã æ°ããäŸåé¢ä¿ãªãŸã«ããŒã¯ãæ¥åžžçã«äœ¿çšããæºåããŸã æŽã£ãŠããªããããããã©ã«ãã§ã¯ãªãã«ãªã£ãŠããŸãã
2020幎10æã«pipã®æ¬¡ã®ååæãªãªãŒã¹ã§ãã20.3ãäœæããäºå®ã§ããããã©ã«ãã®äŸåé¢ä¿è§£æ±ºåäœãå€æŽããæ°ãããªãŸã«ããŒãpip20.3ã®ããã©ã«ãã«ããæºåãããŠããŸãã
ãã®ããã°æçš¿ããã€ã³ãããŠããã®èšèãåºããŠãã ãããHackerNewsãRedditãTwitterãFacebookãDev.toãTelegramãé¢é£ããStack Overflowã®åçããæ°ã«å ¥ãã®Slacks andDiscordsã«åºããŠãã ããã ããã圱é¿ãã人ã ã®ã»ãšãã©ã¯ãPythonåºæã®éçºè ãã¥ãŒã¹ã«è¿œãã€ããŠããªãã 10æãŸã§ã«ãããºã¢ãããååŸãããã°ã¬ããŒããååŸããã®ãæäŒã£ãŠãã ããã
ïŒç§ã®ã¡ã¢ãïŒ988ããã³ããŒããŸããïŒ
@zoobaã¯å°ããŸããïŒ
ãã®æ®µéã§ïŒæåã®RCã®å ŽåïŒPython 3.9ã«ãã³ãã«ãããŠããpipã®ããŒãžã§ã³ãæŽæ°ããå¿ èŠããããšæããŸããïŒ
åæ§ã«ã次ã®ãªãªãŒã¹ã®ããã«Python 3.8ãæŽæ°ããå¿ èŠããããŸããïŒ
ç§ã®ä»®å®ã§ã¯ãã¯ããæ¥é±åãã®ãã°ä¿®æ£ãªãªãŒã¹ã®åŸãã¯ããããã@pfmoore @xavfernandez @cjerdonek @uranusjr @pradyunsg @dstufftã©ãæããŸããïŒ
ç³ãèš³ãããŸããããæçš¿ãæ©ãããŸãã ç§ã®èãã§ã¯ãpip 20.2ããã³ãã«ãããšãçµéšè±å¯ãªéçºè ãPythonã®ææ°ããŒãžã§ã³ããã¹ãããªãããæ°ããäŸåé¢ä¿ãªãŸã«ããŒãç°¡åã«ãã¹ãã§ããããã«ãªããŸãã ãããããã®ãã³ãã«ãããããŒãžã§ã³ãæŽæ°ããã®ã«ã©ãã ãã®äœæ¥ãå¿ èŠãããŸãã¯ã©ã®ãããã®é »åºŠã§æŽæ°ããããã¯ããããŸããã
ããã§ãåãã§ãããæ°ãããªãŸã«ããŒã«ç°¡åã«ã¢ã¯ã»ã¹ã§ããããã«ã3.9ã«20.2.xãå«ãããšäŸ¿å©ã§ãã
ã©ãæããŸããïŒ
ããªãã¯æ£ããã§ããããã¯èšç»ã§ãã :)
OKã python-devã§åçããŸãã-ã¯ããPython3.8ããã³3.9ã«ãã³ãã«ãããŠããpipã®ããŒãžã§ã³ã20.2.xã«æŽæ°ããå¿ èŠããããŸãã
ãããšã¯å¥ã«ã宣äŒã«é¢ããŠãããã§é²è¡äžã®äœæ¥ã«æ³šæããŸãã
ä»åŸ6ã8é±éã¯ããŠãŒã¶ãŒãæ°ããããããè©ŠããŠã¿ãããšãã§ããããã«ãåºã宣äŒããããšãæšé²ããŸãã åé¡ã¯ããã®åå¥ã®ããã±ãŒãžãã€ã³ã¹ããŒã«ãããªãããšããããšã§ã¯ãªããšæããŸãã ããããç°å¢ãç¹å®ã®å¶çŽãã¡ã€ã«ã«å¿ããŠãç¹å®ã®ããã±ãŒãžéã§äºæããªã競åãçºçããå¯èœæ§ããããŸãã ãã°ãä¿®æ£ããããããèªååããããã¹ããèšå®ãããã§ããããã«ããŸããããã®ã¢ããã¹ããªãŒã ããã±ãŒãžããããã¢ãããååŸããŠpip 20.3ã®åã«ä¿®æ£æžã¿ããã±ãŒãžãããã·ã¥ã§ããããã«ã調æ»ãéããŠæ©æã®ãã£ãŒãããã¯ãååŸããããšããŠããŸãïŒäŸïŒhttpsïŒ//github.com/pypa/pip/issues/8076#issuecomment-666493069ã®TensorFlow / numpy / scipyã®åé¡ïŒã
ããã«ã©ãã ãåªåããŠãã20.3ã«ã€ãŸããäžæŽåã«å¯ŸåŠãããŠãŒã¶ãŒãããŠã圌ãã¯æ¬²æ±äžæºã§æ··ä¹±ããŠå·ã€ãããããç§ãã¡ãšãã®ãã¹ãŠã®äžæµã®ãµããŒãè² è·ãåŒãèµ·ãããŸãã ãŠãŒã¶ãŒã«ãã¹ããäŸé Œããã¢ããã¹ããªãŒã ã®æ³šç®ãéããããšã§ããããæžããããšãç®æããŠããŸãã
ãã®ãããããŒã¿ãµã€ãšã³ãã£ã¹ããæåž«ãã¢ãŒãã£ã¹ããDevOpsã¹ãã·ã£ãªã¹ããªã©ãç¹å®ã®ãã¡ã€ã³åºæã®ã³ãŒããŒã«æ³šæãæã£ãŠããã°ã«ãŒãã«é£çµ¡ããŠæŽ»çšããäºå®ã§ãã
ç§ã¯ã圌ãã®æ³šæãåŒã1ã€ã®æ¹æ³ã¯ã圌ããäŸåããŠããç¹å®ã®ããã±ãŒãžãä»ããããšã§ãããšä»®å®ããŸãã
æšæ¥ãåºã䜿çšãããŠããããã±ãŒãžã®ãªã¹ããããã€ã調ã¹ãæ°äººã«æåã§ã¡ãŒã«ãéä¿¡ããããã€ãã®ãªããžããªã§åé¡ãäœæããŠããŠãŒã¶ãŒã«æ°ãããªãŸã«ããŒã®ããŒã¿çã§ãã¹ãããããŒã«ã転ãããŠè©ŠããŠã¿ãããã«äŸé Œããããšãææ¡ããŸãããããã€ãã®å®£äŒãšãã¹ããåŸãããã®æèš/ã¢ãããŒãã ããã«ãããå°ãªããšã1ã€ã®ã±ãŒã¹ã§æ··ä¹±ãçããŸããïŒhttps://github.com/sqlalchemy/mako/issues/322#issuecomment-667546739ãåç §ïŒã20.2ã®ãã°ä¿®æ£ãªãªãŒã¹ããªãªãŒã¹ãããããããå°ã詳ãã説æããŸããäœç³»çãã€æ確
TwitterïŒ 1ã2 ïŒãšReddit ïŒ PyPAã®è³é調éã«é¢ãããã®è³ªåã«åçããã人ã¯ããŸããïŒïŒã§å°ã泚ç®ãéããŠããŸãã
@zoobaã¯æžããïŒãã³ãã«ã«é¢ããŠïŒïŒ
ããããšãã ä»é±åŸåã«ãããå®è¡ããŠã次ã®ã©ãŠã³ãã®ãªãªãŒã¹ãè¡ãããšãã§ããããã§ãã 解æŸãããããªãããšãããã°ãã§ããã ãæ©ããç¥ãããã ããã
ç§ã®--use-feature=2020-resolver
ã¯ãäžè¬çã«ããããåŒãèµ·ãããããå€ãã®åé¡ãä¿®æ£ããŠããããšãããããŸãã
次ã®æ¹æ³ã§æåã®å±éãææ¡ããã«ã¯é ãããŸããïŒ
ææ¡ããã20.3æ¬äŒŒã³ãŒã
try:
_2020_resolver()
except:
legacy_resolver()
ããã¯ãå°ãªããšãç§ã®ãããžã§ã¯ãã§ã¯ããã¹ãŠå€æŽãªãã§åæ Œããããšãæå³ããŸã
ãã®åŸãã¬ã¬ã·ãŒãªãŸã«ããŒãããã©ã«ãã§ç¡å¹ã«ãªã£ããããã°ããã®éã2020ãªãŸã«ããŒã§åäœãããããžã§ã¯ããšãã¬ã¬ã·ãŒãªãŸã«ããŒã§åäœããªããããžã§ã¯ããããå¯èœæ§ããããŸãããã©ãŒã«ããã¯ãæå¹ã«ããããã«ã1ã€ã®ãã©ã°ãèšå®ã§ããããã«ããããšæããŸãã
ææ¡ããã20.4æ¬äŒŒã³ãŒã
try:
_2020_resolver()
except:
if not use_legacy_resolver:
raise
legacy_resolver()
ä»æäžã«20.3ãå±éããäºå®ã§ãã æ··ä¹±ããŠãããŠãŒã¶ãŒããã®è³ªåããããããããã«ã¯å€§éã®ãŠãŒã¶ãŒãµããŒããå¿ èŠã«ãªããšäºæ³ãããŸãã
@diã¯ãæåã®å¯Ÿå¿ãæ¯æŽããããã«äœäººãã®ãã©ã³ãã£ã¢ãéããã®ãæäŒãããšãå¿é¡ããŸããã ãããã®ãã©ã³ãã£ã¢ã¯ãTwitterãStackOverflowãGitHubã§æ°ãããããããªãªãŒã¹ããããã質åã«çããŠãŠãŒã¶ãŒãµããŒãã®èªã¿èŸŒã¿ãæ¯æŽããå®éã®ãã°ãã¡ã³ãããŒ/ã³ã³ããªãã¥ãŒã¿ãŒããŒã ã®æ³šæãåŒãããã«ãšã¹ã«ã¬ãŒã·ã§ã³ããŸãã
ãã¹ãã£ã³ããããã©ã®ããã«æ©èœãããã«ã€ããŠå€§ãŸããªèšç»ããããšæããŸããããã«æçš¿ããŠããã ããã°ãä»ã®ãããã¡ã³ãããŒããã³ã³ã»ã³ãµã¹ãåŸãããšãã§ããŸããïŒ ã©ããããããšãããããŸããã
ãããç§ã®å€§ãŸããªèšç»ã§ãïŒ
ããããšãã@ diã ææ¥ãŸã§ä»ã®ã¡ã³ããããOKããããã®ãåŸ ã£ãŠããŸãã ãããŠã10æ28æ¥ãŸãã¯29æ¥ã®æ°Žææ¥ãŸãã¯æšææ¥ã«pip20.3ããªãªãŒã¹ããããšãç®æããŠããŸãã
@diããªãã®èšç»ãæ¿èªãããããã§ãã å ã«é²ãã§ãã ããïŒ
@diã¯ããªãªãŒã¹ã®é 延ã®å¯èœæ§ã«ã€ããŠæ³šæãä¿ããŸãã
20.3ãå ¬éã§ãããšãã«ç§ãäžåšã®å ŽåïŒæ¥é±ã«ãªãããšãé¡ã£ãŠããŸãïŒãããã«å®£äŒèšç»ããããŸãã
ä»ã®å Žæã®ã³ã¡ã³ãã§èª¬æããããã«ã CIã®åé¡ãçºçããå€éšèŠå ãåå ã§ããªãªãŒã¹ãå°ãé ãããããšã«ããŸããã
ä»æ¥ã®ããŒã ããŒãã£ã³ã°ã§ã¯ã20.3ã®ãªãªãŒã¹ãææ¥ãŸãã¯éææ¥ã«ãªãå¯èœæ§ãããããšã«åæããŸããã 詳现ã«ã€ããŠã¯ãïŒ8936ããã©ããŒããŠãã ããã
以åã®ã³ã¡ã³ãã§ææ¡ããã»ã©ãããã±ãŒãžããšã®ã¢ãŠããªãŒãã¯è¡ããŸããã§ããã ããããããã¯ç§ãã¡ãã¢ãŠããªãŒããããªãã£ãããšãæå³ãããã®ã§ã¯ãããŸããã ç§ãã¡ãè¡ã£ãã¢ãŠããªãŒãã®ããã€ãïŒãã®ãã¡ã®ããã€ãã¯ïŒ8511ãŸãã¯ãã®wikiããŒãžã«ã«ã¿ãã°åãããŠããŸãïŒïŒ
Podcast.__init__
ããã¹ããšã³ãŒãã FLOSS Weekly ããœãããŠã§ã¢éçºè
ã®æ
ã Real Pythonéå»æ°ãæéã20.2ããã³20.3ããŒã¿çã®pip 20.3b1ã§æ°ãããªãŸã«ããŒããã¹ãããŠãã人ã ãããæ°ããåé¡ã次ã ãšçºçããŠããŸãã ãããã®ã¬ããŒãã¯ããªãŸã«ããŒãæ¹åãããã°ãä¿®æ£ãããã®åºåã®UXãæ¹åããã®ã«åœ¹ç«ã¡ãŸããã ãŸããããŒã¿çã®ãã£ãŒãããã¯ã«äžéšå¯Ÿå¿ããŠã ãå€æŽç¹ãã®ãŠãŒã¶ãŒã¬ã€ããå€§å¹ ã«æ¹åããŸããã
ãããç§ã®å€§ãŸããªèšç»ã§ãïŒ
* Start a discussion on discuss.python.org asking for support * Direct folks to a Slack channel that could serve as a communication channel between everyone * Start a document outlining some FAQ and our responses * Include a decision tree for new issue -> triaged issue * Share this with the channel once we have a known release date * Try and roughly schedule volunteers to be online & triaging in the days following the release
@di絶ãéãªãäžç¢ºå®æ§ãšé 延ã«ãããããããã¹ã±ãžã¥ãŒãªã³ã°ãå®è¡ã§ããªããªã£ãŠããããšãèªèããŠããŸãã æ°ãããªãªãŒã¹æ¥ã¯ææ¥ã11æ30æ¥æææ¥ã§ãã å ±æãããã£ã¹ã«ãã·ã§ã³ã¹ã¬ãããšæ±ºå®æšãããå Žåã¯ãå ã«é²ãã§å ±æããŠãã ããã
pip 20.3ããªãªãŒã¹ãããããã©ã«ãã§æ°ãããªãŸã«ããŒãè¿œå ãããŸããã PSFããã°ã§ã®ãªãªãŒã¹ã®çºè¡šã¯æ¬¡ã®ãšããã§ãïŒ https ïŒ//blog.python.org/2020/11/pip-20-3-release-new-resolver.html
æãåèã«ãªãã³ã¡ã³ã
:-)ãããŠãç§ã¯æã 幎ãåããããŠãç²ããŠããŠãå·ç¬çã§ãã ããªãã®å²åŠã«è¡ããŸããããããã¯ã¯ããã«è¯ãèãããŸã:-)