ãã®æ©èœã解決ããåé¡ã¯äœã§ããïŒ
çŸåšãpipã«ã¯ããŠãŒã¶ãŒãpipã®äŸåé¢ä¿è§£æ±ºã®çµæãååŸããããã®ã¡ã«ããºã ããããŸããã ãã®æ©èœã¯ããŠãŒã¶ãŒã次ã®ããšãã§ããããã«ããããã«åœ¹ç«ã¡ãŸãã
ãããã¯ãã¹ãŠä»æ¥å®è¡ã§ããŸãããäžéšã®ç°å¢ã«ããã±ãŒãžãã€ã³ã¹ããŒã«ããæ
å ±ãåŸãããã«ç°å¢ãå
çããå¿
èŠããããŸãã ãã¹ãŠã®é¢é£æ
å ±ã¯å®è¡æã«pip install
ã§å©çšã§ãããããããã§åé¡ãçºçããã®ãåé¿ãããšäŸ¿å©ã§ãã
åžæãããœãªã¥ãŒã·ã§ã³ã説æããŠãã ãã
pip install --dry-run
ãªãã·ã§ã³ãææ¡ããŸããpip resolve
ã³ãã³ããææ¡ããŸãã課é¡è¿œè·¡ã·ã¹ãã ã«ã¯ãç§ãèŠã€ããããªãææ¡ããã£ãšããå¯èœæ§ããããŸãã
代æ¿ãœãªã¥ãŒã·ã§ã³
ãšã³ã·ã¹ãã å ã®ä»ã®éãã€ãããŒã«ããã®æ©èœããŠãŒã¶ãŒã«æäŸã§ããããã«ããŸãã pipã®ãªãŸã«ããŒãå ¬éãããŠããªãããšãèãããšãããã¯æé©ã§ã¯ãããŸããïŒpipã®å éšã¯ã©ã€ãã©ãªã®ããã«äœ¿çšãããŸããïŒã
æã泚ç®ãã¹ãäŸã¯pip-tools
ãããžã§ã¯ãã§ããããã¯ããã®æ©èœãæ¢ããŠãããã¹ãŠã®ãŠãŒã¶ãŒã«ãšã£ãŠçŸåšã®æè¯ã®çãã§ãã
泚ïŒãã®èª¬æã¯2020幎4æã«@pradyunsgã«ãã£ãŠç·šéããïŒè©³çŽ°ã«ã€ããŠã¯ç·šéå±¥æŽãåç §ïŒããã®åé¡ã«ã€ããŠã¯éåžžã«å€ããŠå€ãã³ã¡ã³ããé ãããŠããŸãã
ããŒããPyPIã§å©çšå¯èœãªãã¹ãŠã®ããã±ãŒãžããŒãžã§ã³ãäžèŠ§è¡šç€ºããã³ãã³ããå¿
èŠãªå ŽåããããŸãã
ããªããæãããšïŒ
ãæ°ã«å ¥ãïŒ
$ pip list Django
1.2.4
1.2.3
1.2.2
1.2.1
1.2
1.1.3
1.1.2
1.0.4
$
Original Comment By: Hugo Lopes Tavares
ç§ã¯ãã®èãã奜ãã§ãã
Original Comment By: CarlFK
ãã©ãŒã¯ã«å®è£
ããã°ããã§ãã carljmãjezdezãianbã®æèŠã欲ãã
ããŒãžããåã«ã
ãã¡ãã§ç¢ºèªããŠãã ããïŒ https ïŒ//bitbucket.org/hltbra/pip-list-
ã³ãã³ã/ãã§ã³ãžã»ãã/ e5c135a46204
Original Comment By: Hugo Lopes Tavares
ç§ã¯ããã«ã€ããŠæ·±ãèããŠããŸããããæ¹åããæ¹ãè¯ãããã§ã
ããŒãžã§ã³ãäžèŠ§è¡šç€ºãããsearchãã³ãã³ãïŒ-vãã©ã°ãä»ãããã¹ãŠã®ããŒãžã§ã³ãäžèŠ§è¡šç€ºããå ŽåããããŸãïŒ
ãŸãã¯äœãïŒãæ°ããåå¥ã®ã³ãã³ããè¿œå ããã®ã§ã¯ãªãã ãã®æ©èœ
è«ççã«ã¯æ€çŽ¢ã®äžéšã®ããã§ãã
Original Comment By: Carl Meyer
ä»ã®ERãå®è£
ãããŠããéãããããæ€çŽ¢ã«è¿œå ããŠãåé¡ãããŸããã
djangoã®ããŒãžã§ã³ãæ¢ããšãã«ïŒæ¬åœã«ïŒ3000è¡ãååŸããªãããã«ããããã§ãã
ïŒãã¹ãŠã®django-fooãåå ã§ããpipsearchdjangoãã®ãããæ°ã¯1000ãè¶
ããŠããŸãã
ããã±ãŒãžã ïŒã
Original Comment By: CarlFK
ã€ã³ã¹ããŒã«ãããããŒãžã§ã³ã衚瀺ããå¿
èŠã¯ãªããšæããŸã
å©çšå¯èœãªããŒãžã§ã³ã®ãªã¹ãããããŸããããã¯ãã©ããç°¡åã«å€å¥ã§ããããã§ãã
ãããã¯ææ°ã§ãã ããã«ãæ°ãããã©ã°ã䜿çšããçç±ã¯ãããŸãã
ãªãŒããŒãããã¯ãŒãã«è¿ã¥ãåŸåãããããããã®ãªã¹ãã®åºåãæå¹ã«ããŸãã ããã¯
ã»ãã®å°ããªå€æŽïŒ
https://bitbucket.org/jumpa/pip/changeset/62076643cf33
Original Comment By: jumpa
ããã«ã¡ã¯ã«ãŒã«ãç§ã¯æ€çŽ¢ã³ãã³ãã«ãªãã·ã§ã³ãè¿œå ããããšã«ã€ããŠèããŠããŸãããç§ã®æã
ã€ã³ã¹ããŒã«ã³ãã³ãã«äœãèµ·ãã£ãã®ãïŒãã¢ããã°ã¬ãŒãããããå Žå
ããã±ãŒãžã®å Žåããã€ã³ã¹ããŒã«ããªãã·ã§ã³ã䜿çšããå¿
èŠããããŸããããã¯å¥åŠãªããšã§ãããç§ãã¡ã¯ãããç¥ã£ãŠããŸãã
ãããŠãã»ãšãã©ã®äººãæ€çŽ¢ã«ãªãã·ã§ã³ãè¿œå ããæ¹ãè¯ããšæããªããç§ãããããŸãã
search--versionsãŸãã¯search-vã®äœ¿çšã«é¢ããå€ãã®åé¡ã
Original Comment By: Hugo Lopes Tavares
ããã©ã«ãã§å©çšå¯èœãªãã¹ãŠã®ããŒãžã§ã³ããªã¹ãããã®ã¯åé·ããããšæããŸãã ããã€ã
ããã±ãŒãžã«ã¯pypiã§å©çšå¯èœãªããŒãžã§ã³ããããããããŸã-10ãŸãã¯20ã¯çããããšã§ã¯ãããŸãã
ãŸã£ããã ããã©ã«ãã§ææ°ããŒãžã§ã³ãšãã©ã°ä»ãã®ãã¹ãŠã®ããŒãžã§ã³ãäžèŠ§è¡šç€º
åççãªããã§ãã
ãããŠç§ã¯CarlFKã«åæããŸããæ€çŽ¢ãè¡ãã«ã¯æ¹åãå¿
èŠã§ãã
çµã蟌ã¿ãããã åé¡ã¯ãPyPIã®APIãæäŸãããã®ã«äŸåããŠããããšã§ãã
ããã»ã©å€ãã¯ãããŸãããPyPIããã¹ãŠããŠã³ããŒãããŠæ£èŠè¡šçŸãå®è¡ããããã§ã¯ãããŸããã
ããŒã«ã«ã§æ€çŽ¢ïŒ --exactãã©ã°ã®ãããªãã®ãæ€çŽ¢ããã®ã奜ãã§ã
ãã®å€æŽã®äžéšã§ãããããããšãã°ã--exact djangoããæ€çŽ¢ããŠã
çµæã«djangoèªäœãå«ãŸããŸãã
Original Comment By: Carl Meyer
ããã«ã¡ã¯ãžã£ã³ããxmlrpcããååŸãããã®ã䜿çšããŠããŒãžã§ã³ã衚瀺ããããã®çŽ æŽãããã¢ã€ãã¢
ç¹ããïŒ
ç§ã¯pipãæ€çŽ¢ããŠæ¬¡ã®ã¹ããããååŸããŸããïŒ
pip - pip installs packages. Python packages. An
easy_install眮æïŒããŒãžã§ã³ïŒ0.2ã0.2.1ã0.3ã0.3.1ã0.4ã0.5ã0.5.1ã
0.6ã0.6.1ã0.6.2ã0.6.3ã0.7ã0.7.1ã0.7.2ã0.8ã0.8.1ã0.8.2ïŒ
ããã¯ãå€ãã®ããŒãžã§ã³ã䜿çšãããéåžžã«å€§ããªããã±ãŒãžã®ãªã¹ãã«ãªããŸã-
ç§ãã¡ã®æ€çŽ¢ã¯ååãšèŠçŽãæ°ã«ããããã§ãã ç§ãã¡ã¯ãããæ°ã«ããå¿
èŠããããŸããïŒ
Original Comment By: Hugo Lopes Tavares
ãšã³ããŠãŒã¶ãŒãšããŠãç§ã¯å¥ã®ãªã¹ãã³ãã³ã*ãæã€ãšããã¢ã€ãã¢ã奜ãã§ãã æéãšããŠ
å¥ã®ã³ãã³ããå®è¡ãããšãåç¬ã§å€æŽããã³æ¡åŒµããæ¹ãç°¡åãªå ŽåããããŸãã ã«
å¥ã®ãªã¹ãã³ãã³ãããã䟿å©ã«ããå Žåã¯ãã©ã®ããŒãžã§ã³ãæå®ã§ããŸãã
ãããããçŸåšã€ã³ã¹ããŒã«ãããŠããŸãã
pip list Django
1.2.4
1.2.3 installed
1.2.2
1.2.1
1.2
1.1.3
1.1.2
1.0.4
泚ïŒYUMïŒRedHatïŒãpkglistïŒBSDïŒã
dpkgïŒDebainïŒã¯ãåå¥ã®ãªã¹ããã©ã°ãŸãã¯ã³ãã³ããæäŸããŸãã
Original Comment By: Kelsey Hightower
ã«ãŒã«ãç§ã¯ãã®åé¡ã«ã€ããŠå¥ã®æ¥ãèããŠããŸããããããŠç§ã¯åæããªããã°ãªããŸãã
ã±ã«ã·ãŒïŒå¥ã®ã³ãã³ãã¯æªããããŸããã
ãã®ããã±ãŒãžåã ããå¿
èŠã§ããããšã瀺ãããã«ãã©ã°ã䜿çšããããšãèããŠã¿ãŠãã ããã
䜿çšå¯èœãªãã¹ãŠã®ããŒãžã§ã³ãååŸããããšã瀺ãå¥ã®ãã©ã°ã
å°ãå€ã§ãã
説æããŠã¿ãŸãããïŒ
$ pip search -v --exact Django
察
$ pip list Django
ã€ã³ã¹ããŒã«ãããŠããããŒãžã§ã³ã衚瀺ãããšããKelseyã®ã¢ã€ãã¢ã¯ããªã¹ããæ¹åããã ãã§ã
æå³ã
Original Comment By: Hugo Lopes Tavares
æ€çŽ¢ã³ãã³ãã«å€æŽãå ããŸããã
æ€çŽ¢ã³ãã³ãã«ã¯ãã€ã³ã¹ããŒã«æžã¿ã§å©çšå¯èœãªææ°ããŒãžã§ã³ããã§ã«è¡šç€ºãããŠãããããæ€çŽ¢ã³ãã³ããæ¡åŒµããŠãå©çšå¯èœãªãã¹ãŠã®ããŒãžã§ã³ãäžèŠ§è¡šç€ºããæ¹ãçã«ããªã£ãŠããŸãã
ãããç§ã®ãã§ã³ãžã»ããã§ãïŒ https ïŒ//github.com/phuihock/pip/commit/46bad23b5bf31850a02803ea1ca18be5deca9db3
ããã®ç¶æ³ã¯ã©ãã§ããïŒ pipã䜿çšããŠPyPIã§å©çšå¯èœãªææ°ããŒãžã§ã³ã確èªã§ããŸããïŒ
ããã¯ãã§ã«å®è£
ãããŠããŸããïŒ ããã¯çŽ2幎éç§ãæ©ãŸããŠããŸããããããŠç§ã¯ããã解決ãããã®ãèŠããã§ãã
ããŒãžã§ã³ã®ãã©ã°ãšçµã¿åãããéå®æ€çŽ¢ã¯ãéåžžã«äœ¿ãããããœãªã¥ãŒã·ã§ã³ã®ããã«èŠããŸãã
ããŒãžã§ã³ã衚瀺ããæ¹æ³ãæ€çŽ¢ããŠãããšãã«ãã®ã¹ã¬ããã«åºããããããšãããã«è¿œå ãããã£ãã ãã§ã...ç§ã¯pipsearch -v packageãè©ŠããŸãã-ã©ããããããããã¯ç§ã«ã¯çŽæçã«ç解ã§ããã§ãããïŒããã±ãŒãžã®è©³çŽ°ãªèª¬æããŒãžã§ã³æ å ±ãå«ãã€ã³ã¹ããŒã«ãããŸã...
ç§ã®ååãç§ã«ããã«ã€ããŠå°ããåŸãç§ã¯ãã®æ©èœããŸã å®è£ ãããŠããªãããšã«æ°ã¥ããŸããã ä»åŸã®ããŒãžã§ã³ã®pipã§å©çšå¯èœã«ãªãäºå®ã¯ãããŸããïŒ
ãã®PRã¯é¢é£ããããšæããŸãããçŸåšåãçµãã§ããŸããïŒ
ãŸãã Pythonããã±ãŒãžã®çŸåšã®ç¶æ³ãšå°æ¥ã«ã€ããŠã®Linuxconf 2014ã®è¬æŒãPythonPackaging 2.0ïŒä»ã®äººãšããŸããã£ãŠãããã«ãèå³ããããããããŸããã ã¹ããŒã«ãŒã¯ïŒç§ãæ£ããç解ããŠããã°ïŒpipã®ã¡ã¿ããŒã¿ã®å¶éã®ããã€ãã¯å ã CPANã«åºã¥ããŠããPyPIã®èšèšã®çµæã§ãããPyPIã®ããã¯ãšã³ããäœãçŽããïŒãã¹ãã䜿çšããŠçŸåšã®ãã®ãšã®äºææ§ãç¶æããªããïŒãšè¿°ã¹ãŸããç¶æ³ãæ¹åããå¿ èŠããããŸãã 圌ã¯äž»ã«ãã·ã¹ãã ã€ã³ãã°ã¬ãŒã¿ãŒããã€ãŸãããŠã³ã¹ããªãŒã ããã±ãŒãžã£ãŒã«ã€ããŠè©±ããŠããŸããããããã¯ãã®åé¡ã®ãããªãã®ã«åœ±é¿ãåãŒãããããã解決ããããããã ãããšæããŸãã
+1,000,000
ãããŠä»ã¯ã©ãã§ããïŒ
ããŠãã€ã³ã¹ããŒã«ããã«ææ°ããŒãžã§ã³ã衚瀺ããæ¹æ³ã¯ãããŸããïŒ
ãã®åé¡ã¯2011幎ããå
¬éãããŠãããäžèšã§èŠããããã¯1è¡ã ãã§ãã :(
ããã¯æå¹ã«ãããã€ããŒãªæ©èœã®ããã§ãããçŸæç¹ã§apt-cache madison
ãšåçã®ãªãã·ã§ã³ããªãã®ã¯ãªãã§ããïŒ
æ€çŽ¢ãããšãã«ããPyPiããã±ãŒãžã®ææ°ããŒãžã§ã³ã確èªããããšæããŸãã å®å šã«äžèŽãããããšã¯æ©èœããŸãããåé¿çãšããŠawkã䜿çšããŸãã
ãããç§ãèç«ãããããã«ã¯ã»ãšãã©ãŸãã¯ãŸã£ããåžæããªãããšãèŠãŠãç§ã¯ä»£æ¿æ¡ãäœæããããšã¯ç§ã®æéã®äŸ¡å€ããããããããªããšå€æããŸããã ãã®åé¡ã«å ããŠãç§ã¯ä»ã®ããã€ãã®èŠæ±ãããæ©èœïŒæ£èŠè¡šçŸæ€çŽ¢ãè²ä»ãåºåãªã©ïŒãå®è£ ããŸããã èå³ã®ããæ¹ã¯ãã¡ãã§ãã§ãã¯ã§ããŸã
wget -qO- https://pypi.python.org/pypi/uWSGI | egrep -o "uwsgi- [0-9]ã[0-9]ã[0-9] [0-9] .tar.gz" | 䞊ã¹æ¿ã-u
wget -qO- https://pypi.python.org/pypi/uWSGI/json | grep '"version"'
@andreifããã¯åžžã«æ£ããããŒãžã§ã³ãèŠã€ããããšã¯ãããŸããïŒ--preãæäŸãããŠããªãéããpipã¯ã¢ã«ãã¡ãããŒã¿ããªãªãŒã¹åè£ãªã©ãç¡èŠããŸãïŒã ããã¯ããè¿ãã§ãïŒãã ããä¿èšŒããããŸããïŒïŒ
wget -qO- https://pypi.python.org/pypi/uWSGI/json | grep -E ' {8}"[0-9."]*": \[' | sort -V | tail -n 1 | tr -d ' ":['
ã§ã¯ãJSONå¿çã«ã¯"pre-version": "1.2.3a4"
ã®ãããªãã®ãå«ãŸããŠããã¯ããªã®ã§ãåçŽãªåŒã§äž¡æ¹ãgrepã§ããŸãã
ç§ã¯ãã®åé¡ãæ¬åœã«ç解ããŠããŸãã...ããã¯äœã«ã€ããŠã§ããïŒ
pip install
ã«æ°ãããªãã·ã§ã³ãè¿œå ãããšãããã±ãŒãžã解決ããããŸã§pipãå®è¡ãããéžæããããã±ãŒãžãå°å·ãããŠçµäºããŸãïŒã€ã³ã¹ããŒã«ãã¹ãããããŸãïŒãpip search
ã䜿çšãããšãã«ãããã±ãŒãžåã®æšªã«ææ°ããŒãžã§ã³ã衚瀺ããŸããïŒåŸè ã¯ç§ã«ã¯è§£æ±ºãããããã§ãåè ã¯ããããæ°ããå°çšã®åé¡ãååŸããå¿ èŠããããŸãã
@pradyunsgããŠãæ£ããæãåºãã°ãçŸåšå©çšå¯èœãªããŒãžã§ã³ïŒãªãªãŒã¹ãšãã¬ãªãªãŒã¹ã®äž¡æ¹ïŒã確èªããç°¡åãªæ¹æ³ãå¿
èŠã§ããã ãã®ããŒãžã§ã³ã¯pip install -U [--pre]
ã«ãã£ãŠã€ã³ã¹ããŒã«ãããŸãã
virtualenvãèšå®ããã¹ã¯ãªããã«å¿ èŠã§ããã ããã±ãŒãžã®æ°ããããŒãžã§ã³ãããå ŽåãçŸåšã®ããŒãžã§ã³ãæŽæ°ãããä¿æããããå°ããããŸããã ãããã£ãŠããã®ãŠãŒã¹ã±ãŒã¹ã¯æ°ããpipæ€çŽ¢ã§ã«ããŒãããŸãã
pkg="foo"; pip install --download /dev/null --no-cache-dir --no-binary :all: "$pkg" 2>&1 | egrep -i "$pkg"'-' | head -1 | egrep -io "$pkg"'-[^ ]+' | sed 's/^'"$pkg"'-\(.*\)\.tar\.gz$/\1/g'
--download
-éæšå¥šããŒãžã§ã³ãæçš¿...
pkg="foo"; tmp="$(mktemp -d)"; pip download -d "$tmp" --no-cache-dir --no-binary :all: "$pkg" 2>&1 | egrep -i "$pkg"'-' | head -1 | egrep -io "$pkg"'-[^ ]+' | tr A-Z a-z | sed 's/^'"$pkg"'-\(.*\)\.tar\.gz$/\1/g'
次ã®ãããªãã®ã䜿çšããŸãã
pip install foo==
å©çšå¯èœãªãã¹ãŠã®ããŒãžã§ã³ã®ãªã¹ããæäŸããŸãïŒæå¹ãªpypiå©çšå¯èœãªããã±ãŒãžã®å Žåããã®å Žåã¯ååïŒïŒ
Could not find a version that satisfies the requirement molecule== (from versions: 1.20.1, 1.20.3, 1.21.1, 1.22.0, 1.23.0, 1.25.0, 1.25.1, 2.10.0, 2.10.1, 2.11.0, 2.12.0, 2.12.1, 2.13.0, 2.13.1, 2.14.0, 2.15.0, 2.16.0, 2.17.0, 2.18.0, 2.18.1, 2.19.0)
No matching distribution found for molecule==
ããããå®éã«ããŠã³ããŒãããããdev / nullã«ã€ã³ã¹ããŒã«ãããããã«ãpipã䜿çšããŠã€ã³ã¹ããŒã«ãããããŒãžã§ã³ãååŸã§ãããšäŸ¿å©ã§ã:-)
åæããŸããã ãã®æ©èœã®ãªãããã±ãŒãžãããŒãžã£ãŒã¯äžçš®ã®åè«ã§ãã ããŒãžã§ã³ã®ãªã¹ããååŸããäŸã§ããããã®ããã±ãŒãžãããŒãžã£ãŒã«ã¯ãªãããã«å¥ã®æ©èœãè£ãããã®å®å šãªããã¯ã§ãã æå³ããããšã¯èšããŸãããããããã¯ãå®å šã«ç¡èŠãããŠãããã®ãã°ãäœæããã8幎åã«å©çšå¯èœã§ãã£ãã¯ãã®ããšã§ãã ãããã¯ãå®éã«ã¯ãã£ãšå€ãã®æ©èœãåããŠãããã®ã«çœ®ãæãããããšæããŸãããã²ã©ããã°ããã¹ã¯ã§ãéæ¹ããªã倧ãããè€éãããŸãã ãŸããç§ãã¡ã¯ãã€ã§ãèªåã§æžãããšãã§ããŸãã
pip-toolsã¯pipã«åºã¥ãããŒã«ã§ããããã®ã¹ã¬ããã®äººã ã質åããŠããããšã®ããã€ãã«åœ¹ç«ã€ãšç§ã¯ä¿¡ããŠããŸãïŒ https ïŒ//github.com/jazzband/pip-tools
æœè±¡äŸåé¢ä¿ã®ãªã¹ããæå®ãããšïŒã€ãŸããããŒãžã§ã³ãæå®ãããŠããªãå ŽåïŒãã€ã³ã¹ããŒã«ããåèŠä»¶ãšäŸåé¢ä¿ã®ç¹å®ã®ããŒãžã§ã³ã瀺ãããŸãã
pkg="django"; echo "$pkg" | pip-compile - --output-file - | egrep -i '^'"$pkg"'=' | cut -d '=' -f 3-
ã¯ã»ãŒåããããã°ãããŠããŸãïŒã€ã³ã¹ããŒã«ããå¿
èŠãããå¥ã®ãã®ã ãšæ°ãããšãã£ãšã°ãããŠããŸã[python2ãµããŒããå¿
èŠãªå Žåã¯ããã«ã°ãããŠããŸã]ïŒ
ããã«ãpip-toolsïŒïŒpipenvïŒã®å
šäœçãªãã€ã³ãã¯ããã¬ãŒã³ãªpipãšå¶çŽãã¡ã€ã«ã䜿çšããŠå®è¡ã§ããŸãã ïŒ pip install -r reqs -c constraints; pip freeze > constraints
ïŒã
pip install
ã«æ°ãããªãã·ã§ã³ãè¿œå ãããšãããã±ãŒãžã解決ããããŸã§pipãå®è¡ãããéžæããããã±ãŒãžãå°å·ãããŠçµäºããŸãïŒã€ã³ã¹ããŒã«ãã¹ãããããŸãïŒã
ããã§éèŠãªããŠã¹ããŒãã³ã°ãå®è¡ããŸããããã®åé¡ã¯ããã®ãŠãŒã¹ã±ãŒã¹ã远跡/è°è«ããããšãšãæ°ããæ©èœã«å¯Ÿãããã®èŠæ±ã«å¯Ÿå¿ããããã«pipãå€æŽããããã©ãã/ã©ã®ããã«å€æŽããããã«ã€ããŠã§ãã
é¢é£ããã³ã³ããã¹ããæ·»ä»ãããŠããªãéåžžã«å€ãã³ã¡ã³ãããããã®ããã®ä»äºã®90ïŒ ãå®è¡ããããã®ãæœåšçãªãããã³ã°/ã¹ã¯ãªãããã²ããããå«ãã³ã¡ã³ããŸã§ãããããã®ã³ã¡ã³ããé衚瀺ã«ããŸããã åŸè ã®ã°ã«ãŒãã«ã€ããŠã¯ãåŸè ã®è©³çŽ°ãããã«æçš¿ããªãã§ãã ãããããŒã«èªäœã«ä¿®æ£ãå®è£ ããæ¹æ³ãè°è«ãããã©ãŒã©ã ã§ã¯ãªãããããã®ææ¡ãããé©åãªä»ã®ãŠãŒã¶ãŒãµããŒããã©ãŒã©ã ããããŸãã :)
å®éã«ãŸã é¢é£æ§ãããæçšãªã³ã¡ã³ããé ãããŠããŸã£ã人ã«ã¯ãè©«ã³ããŸãã ç§ã¯æ¬åœã«å€ãã®ã³ã¡ã³ãã®æèãç解ããããšãã§ããŸããã§ããããããŠããªãã®ã³ã¡ã³ãã¯å·»ãæ·»ã被害ã«é ãããã°ãããããããŸããã
ãã®ãã±ããã¯äŸåé¢ä¿ãªãŸã«ããŒïŒïŒ988ïŒã®éçºã«ãã£ãŠãããã¯ãããŠãããããããŒã ã¯ãã®ããŒãã§åé²ããããã«ã³ãã¥ããã£ããã®æ¯æŽãæ±ããŠããããšãããã§èšåããããšæããŸãã
æ°ãããªãŸã«ããŒã倱æããç¶æ³ãããããç解ããå¿ èŠããããããè€éãªäŸåé¢ä¿ãæã€pipãŠãŒã¶ãŒã«æ¬¡ã®ããšãæ±ããŠããŸãã
--unstable-feature=resolver
ãå®è¡ããŸãïŒããªãã¯ããã§ããå€ãã®æ å ±ãšãã詳现ãªæ瀺ãèŠã€ããããšãã§ããŸã
ãã®ã¹ã¬ããã§ãŸã èšåãããŠããªãïŒ7819ã®å®éšããçãããŠãŒã¹ã±ãŒã¹ã®ã²ãšã€ã¯ãããã±ãŒãžãåŸã§ããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããããã®URLãå ·äœçã«èšé²ããããšã§ããããã¯ãäžèšã®ããã¯ãã¡ã€ã«ãšãããã«çŽäº€ããæ©èœã§ãã倧ããªãã¡ã€ã«ãããŠã³ããŒãããã«pipresolveã®çµæãæ¶è²»ããå Žåã«ç¹ã«äŸ¿å©ã§ãã
Twitterã§å€§èŠæš¡ãªãéåžžã¯æ©æ¢°åŠç¿ã¢ããªã±ãŒã·ã§ã³ã®ããã±ãŒãžåæ¹æ³ãéçºããŠããŸãããããã¯ãipexããšåŒã°ããæåã«å®è¡ããããŸã§ãµãŒãããŒãã£ã®ã³ãŒããå«ãŸãã«åºè·ã§ããŸãïŒãµã€ãºã倧å¹
ã«çž®å°ãããŸãïŒã ãã³ããã«ã/ãã³ãïŒ8793ã®å ŽåãèŠä»¶ã解決ããããã«pexã©ã³ã¿ã€ã ã©ã€ãã©ãªãåŒã³åºãå®è¡å¯èœãªpexã¢ãŒã«ã€ããçæããŸãïŒpexã¯å
éšã§pipãå®è¡ããŸãïŒã ç§ã¯çŸåšãå®è¡æã«å®å
šãªpex / pip解決ã¹ãããããããŠã³ããŒãå
ã®URLïŒ req.link
ïŒã®ã¿ãèšé²ãã眮æã«çœ®ãæãããããã¿ã€ãã«åãçµãã§ããŸãã ããã€ãã¬ã€ããããpexãã¡ã€ã«ãäœæããããã®ããŠã³ããŒããšãã¡ã€ã«ã³ããŒã¯å®å
šã«äžŠè¡ããŠå®è¡ã§ãããããããã¯å®éã«ã¯éåžžã«é«éã§ãïŒãããŠéåžžã«ãã现ãããã£ãã·ã¥ã§ããŸãïŒã
ãã®æ©èœïŒå€§éã®ãã€ãŒã«/éãã€ãŒã«ã䞊è¡ããŠããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããïŒã¯ãããã¯ãã¡ã€ã«ã«å ¥ãããã€ãŒã«ãŸãã¯éãã€ãŒã«ã®URLãããã«å ¬éããããšã«äŸåããŠããŸãããããã§ã¯ãŸã èšåããŠããŸããã ããã«ãããè±æ°Žãããipexãã¡ã€ã«ãäœæããããšãã«ãã³ããpipã1åã ãåŒã³åºãããšãã§ãïŒããŠã³ããŒãURLã解決ããããïŒãIPEXãã¡ã€ã«ãæåã«å®å šã«åŒã³åºããããšãã«URLã䜿çšãããã®ã解決ãã¹ãããã®çµæãæ¶è²»ããŠèŠä»¶ãããŠã³ããŒãã§ããŸãå床pipãåŒã³åºãå¿ èŠãªãã«å¥ã®ãã·ã³ã
ïŒ7819ã§ã¯ãv1ãªãŸã«ããŒã®å
èããåºåã«URLãäŒæããããã«å€ãã®åŽåãå¿
èŠã§ããã ç§ãæåŸã«v2ãªãŸã«ããŒã§åäœãããããšãããšãã¯ãã¯ããã«å°ãªãåŽåã§ããã ä»ã®ãšãããããŠã³ããŒãURLãåãåºã--dry-run
ãŸãã¯resolve
ã³ãã³ãã®å®éšçãªããŒãžã§ã³ã瀟å
ã§åºè·ããããšãèšç»ããŠããŸãããããæåããã°ãããŸãããã°ããã®éã«--unstable-feature=resolver
ã®æ®ãã®åé¡ïŒ ïŒDïŒD
ãã£ãããããã«ãããã¯ãã¡ã€ã«åœ¢åŒã®èšèšã¯ãªãŸã«ããŒã®å®è£ ãšçŽäº€ããŠããŸãã ãã ããçŸåšã®pipãããžã§ã¯ãã®ç¯å²å€ã§ããããšãæå³ããŸãã ãã®ãããã¯ã«ã€ããŠã®è°è«ããããŸãããïŒèŠåïŒéåžžã«é·ãã¹ã¬ããïŒãå©çšå¯èœãªéçºè ã®æéãäžè¶³ããŠããããšãèãããšãããã¯ããªãŸã«ããŒãå°ãªããšãå®å®ããåã«æ·±å»ãªè°è«ãè¡ãããªãå¯èœæ§ãé«ãããšãæå³ããŸãã
ãªã³ã¯ããããšãããããŸã!!
2020幎5æ24æ¥æ¥ææ¥19ïŒ34Tzu-ping [email protected]
æžããŸããïŒ
ããªããèšã£ãããã«ãããã¯ãã¡ã€ã«ãã©ãŒãããã®ãã¶ã€ã³ã¯
ãªãŸã«ããŒã®å®è£ ã ãã ããããã¯ãŸãããããç¯å²å€ã§ããããšãæå³ããŸã
çŸåšã®pipãããžã§ã¯ãã ãããã¯ã«é¢ããè°è«ããããŸãã
https://discuss.python.org/t/structured-exchangeable-lock-file-format-requirements-txt-2-0/876/1
ïŒèŠåïŒéåžžã«é·ãã¹ã¬ããïŒããéçºè ã®æéã®äžè¶³ãèæ ®ããŠ
å©çšå¯èœã§ããå Žåãããã¯ãçå£ãªè°è«ãè¡ãããªãå¯èœæ§ãé«ãããšãæå³ããŸã
ãªãŸã«ããå°ãªããšãå®å®ããåã«çºçããŸããâ
ã³ã¡ã³ãããã®ã§ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/pypa/pip/issues/53#issuecomment-633346918 ããŸãã¯
ç»é²ã解é€ãã
https://github.com/notifications/unsubscribe-auth/AAJ6UT3IK65CUQGUIOGBNVDRTHKMVANCNFSM4AIQRXLA
ã
@cosmicexplorer --dry-run
ãŸãã¯resolve
ã³ãã³ãã®å®éšçãªããŒãžã§ã³ã瀟å
ã«åºè·ããŸãããïŒ ãããããªããããã¯ã©ãã§ããïŒ
ããªãã¯ç§ããã®æ©èœã«éåžžã«èå³ãæã£ãŠããããšã«æ°ã¥ãããããããŸããð
次ã®ãããªãã®ã䜿çšããŸãã
pip install foo==
å©çšå¯èœãªãã¹ãŠã®ããŒãžã§ã³ã®ãªã¹ããæäŸããŸãïŒæå¹ãªpypiå©çšå¯èœãªããã±ãŒãžã®å Žåããã®å Žåã¯ååïŒïŒ
Could not find a version that satisfies the requirement molecule== (from versions: 1.20.1, 1.20.3, 1.21.1, 1.22.0, 1.23.0, 1.25.0, 1.25.1, 2.10.0, 2.10.1, 2.11.0, 2.12.0, 2.12.1, 2.13.0, 2.13.1, 2.14.0, 2.15.0, 2.16.0, 2.17.0, 2.18.0, 2.18.1, 2.19.0) No matching distribution found for molecule==
ããããå®éã«ããŠã³ããŒãããããdev / nullã«ã€ã³ã¹ããŒã«ãããããã«ãpipã䜿çšããŠã€ã³ã¹ããŒã«ãããããŒãžã§ã³ãååŸã§ãããšäŸ¿å©ã§ã:-)
ããããªãã¯!! 䟿å©ã§äŸ¿å©!! æ¬åœã«å°è±¡çã§ã!!
æœåšçãªãããã³ã°/ã¹ã¯ãªããã£ã³ã°ãã²ãã...åŸè ã®è©³çŽ°ãããã«æçš¿ããããšã¯æ§ããŠãã ãã-ããŒã«èªäœã«ä¿®æ£ãå®è£ ããæ¹æ³ãè°è«ãããã©ãŒã©ã ã§ã¯ãªãããããã®ææ¡ãããé©åã§ããä»ã®ãŠãŒã¶ãŒãµããŒããã©ãŒã©ã ããããŸãã :)
æ¬åœã«äœã®ããã§ããããŸããããããã¯ãã°ãéåžžã«é·ãé·åŒããããšãã«èµ·ãããããªãã®ã§ãïŒç§èªèº«ã®æè¿å¯çš¿ãããããã²ãããã®å Žåã¯7ã56幎ã§ããããã®ãŸã éããŠãããã°ã¯çŸåš9ã25幎ã§ã幎ïŒã 人ã ã¯åé¿çãå ±æããŸãã
ãŸããåé¿çãå«ãã³ã¡ã³ããé衚瀺ã«ããããšã§ãã³ã¡ã³ãã«æçš¿ããããšããŠããåé¿çãäžèŠã§ããããšã«æ°ä»ãã®ã«åœ¹ç«ã€ãšã¯æããŸããïŒäžéšãé衚瀺ã®ã³ã¡ã³ãããã¹ãŠã¯ãªãã¯ããŠããã§ã«èšãããŠããããšã確èªãã人ãããªãããã§ãïŒã 誰ãã10幎åã®ãã°ã«ééããã¡ã³ããããã®äœããã®é²æ©ãæ瀺ããŸãã¯åé¿çãèŠã€ããããªãå Žåãä»ã®äººãããªãã®ä»äºãéããŠèŠããã®ã§ã圌ãã¯åé¿çãå ±æããããšãå¿ èŠã§ãããšãããŠèããŸããã§ã«èªåã§ãã£ãããšã¯äžèŠã§ãã
ãããŠãã¯ãããã®ã³ã¡ã³ãã¯ããã®ãŸã éããŠãããã°ã«å¯Ÿå¿ããŠè¡ã£ãããšãèµ·ãã£ããšãã«ãèµ·ãããŸãã
å¿é ããªãã§ãã ãããpipãã¹ã¯ãªãããåã³å£ãããã®ãã°ããŸã éããŠããªãéããç§ã¯ãã以äžæçºãããŠããªãã³ã¡ã³ããè¿œå ããŸããã
ããªããããŠãããŠããããšãã :)
@brainwane @ ei8fdb UXã®èŠ³ç¹ãããã®åé¡ãéèŠãªãã®ãšããŠãã©ã°ãç«ãŠãã-ïŒ8377ã«é¢é£
ç§ã®ç解ã«åºã¥ãé«ã¬ãã«ã®èŠçŽïŒ
ResolutionImpossible
ïŒResolutionImpossible
ãšã©ãŒãçºçããå ŽåïŒåãããžã§ã¯ãã®äŸåé¢ä¿ãæåã§æ€æ»ããå Žåãé€ãïŒããŠãŒã¶ãŒãå€æããæ¹æ³ã¯ãããŸãããã€ãŸãããŠãŒã¶ãŒãæäžäœã®èŠä»¶ïŒã€ãŸãã requirements.txt
ã§æå®ãããããã±ãŒãžããŸãã¯ã³ãã³ãã©ã€ã³ã«çŽæ¥å
¥åãããããã±ãŒãžïŒã«åºã¥ããŠãäŸåé¢ä¿ã®ç«¶åã®å¯èœæ§ãæ€åºããæ¹æ³ãå¿
èŠã§ãã
ãããè¡ãããšã«ããå Žåã¯ãææ¡ããããã©ã°åïŒ --dry-run
ïŒã調æ»/æ€èšããå¿
èŠããããŸãã
@uranusjr @ pfmoore-äœãåé¡ããã£ãããç§ãã¡ã®è°è«ã«åºã¥ããŠäœããèŠéãããããå Žåã¯ãç§ãèšæ£ããŠãã ããã ã©ãã
@nlhkabuäžèšã®ãã¹ãŠã®ã³ã¡ã³ãã«åæããŸãã ãã ããæ確ã«ããããã«ã --dry-run
ã¹ã¿ã€ã«ã®ã³ãã³ãã䜿çšãããšããŠãŒã¶ãŒã¯äŸåé¢ä¿ã®ç«¶åãçºçãããã©ããã確èªã§ããŸãã ãã ãã説æããããã«ã競åãååšããçç±ã蚺æããäžã§è¿œå ã®ãã«ãã¯æäŸãããŸããã ãããã£ãŠãå¯èœãªå Žåã¯ã€ã³ã¹ããŒã«ããããããã§ãªãå Žåã¯äœãããã«ãšã©ãŒãå ±åããéåžžã®ãèš±ããæ±ãããã¢ãããŒããšã¯å¯Ÿç
§çã«ãããã¯åºæ¬çã«ãé£èºããåã«èŠããã€ã³ã¹ããŒã«ã³ãã³ãã§ãã
ãããæäŸããªããã®ãããã³IMOãéåžžã«åœ¹ç«ã€ãã®ïŒpipãµãã³ãã³ããšããŠããŸãã¯ãµãŒãããŒãã£ããŒã«ãšåãããã䟿å©ïŒã¯ãpipãæ©èœããŠããäŸåé¢ä¿ããªãŒãã©ã®ããã«èŠããããäžèŠ§è¡šç€ºããæ¹æ³ã§ãã ã ïŒããã«ã¯ããªãŸã«ããŒãå®éã®ã€ã³ã¹ããŒã«æé ã¯å¿ èŠãããŸãããããã±ãŒãžãœãŒã¹ããã®äŸåé¢ä¿ã¡ã¿ããŒã¿ããåçŽã«ãæšç§»çã«äžèŠ§è¡šç€ºããŸãïŒã
ããã¯ã pip resolve
ã³ãã³ãã®åœ¢åŒãåãããšãã§ããŸãã
pip resolve
ã¯ãã»ãšãã©ã®äººãæåŸ
ãããã®ã§ãããããåŒãã§ãã ããðæçµçã«ã¯ç¬èªã®ãã©ã°ã䜿çšã§ããããã«ãªããŸãã
æ確å@pfmooreãããããšãã ãŠãŒã¶ãŒã®èŠ³ç¹ããã resolve
ãªãã§$ --dry-run
ãã©ãã ã䜿çšããããããããŸãããïŒ
IMOããšã©ãŒãçºçããããšããŠãŒã¶ãŒã«äŒããã ãã§ã¯äžååã§ãããŸãããšã©ãŒãã©ãã«ããããèŠã€ããŠäœããè¡ãããã«ååãªæ å ±ããŠãŒã¶ãŒã«æäŸããå¿ èŠããããŸãã
ãããã£ãŠããŠãŒã¶ãŒã--dry-run
ãå®è¡ããŠãããšæ³åããŠãã ãã...å¿çã«æ¬¡ã®ãããªãã®ãå«ããããšãã§ããŸãã
äŸåé¢ä¿ã®ç«¶åãæ€åºãããŸããã pipã¯d1.0ããã³c1.0ãã€ã³ã¹ããŒã«ã§ããªããªããŸãã
競åã®åå ã¯æ¬¡ã®ãšããã§ãã
d1.0ã¯E == 2.0ã«äŸåããŸã
c1.0ã¯E == 1.0ã«äŸåããŸã
pip resolve
ãå®è¡ããŠãäŸåé¢ä¿ããªãŒã調ã¹ãŸãã
ResolutionImpossible
ãšã©ãŒã¡ãã»ãŒãžïŒïŒ8377ãåç
§ïŒã§pip resolve
ãåå©çšããããšãã§ããŸãããããã¯å€§ããªã¡ãªããã«ãªããŸãã
@pradyunsg pip resolve
ã®å¥ã®ãã±ããã¯ãããŸããïŒ
ãŸããæ確ã«ããããã«ã pip resolve
ã®äœ¿çšç®çã¯ã次ã®ããããã§ãããšæããŸãïŒæåãæ³å®ïŒã
Twitterã®å ŽåãïŒ7819ã§èª¬æãããŠãããipexãããŒã«ã䜿çšããŠã pip resolve
ã³ãã³ãã䜿çšããŠå®è¡å¯èœãªpexãã¡ã€ã«ãäœæããŠããŸãããã®ã³ãã³ãã¯ãäœããããŠã³ããŒããã代ããã«ã解決ããããã¹ãŠã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã®ããŠã³ããŒãURLãåºåããŸãïŒãŸã æ¬çªç°å¢ã§ã¯äœ¿çšãããŠããŸããïŒ ïŒã ããã¯ãä»ã®ããã€ãã®æé©åïŒïŒ8448ãªã©ïŒãšãšãã«ããããã®ipexãã¡ã€ã«ãæ°ç§ã§äœæã§ããããã«ããŸãã ãããã®ipexãã¡ã€ã«ã¯ãåãããŒã¿ã»ã³ã¿ãŒå
ãããæåã«å®è¡ããããšãã«pip resolve
ã³ãã³ãããåºåããããã¹ãŠã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ãããŠã³ããŒãããŸããããã«ãããipexãã¡ã€ã«èªäœãã®ã¬ãã€ãã§ã¯ãªãã¡ã¬ãã€ãã«ããããšãã§ããã¢ããããŒãæéãççž®ãããŸããå€ãã®å°åããã
ãããã£ãŠãåºæ¬çã«ã¯ã pip resolve
åºåã®jsonããŒãžã§ã³ããã¡ã€ã«ãšããŠpexã¢ãŒã«ã€ãã«åã蟌ã¿ãããŒãã¹ãã©ããã¹ã¯ãªããã§ãããèªã¿åã£ãŠããã£ã¹ããªãã¥ãŒã·ã§ã³ã䞊è¡ããŠããŠã³ããŒãããŸãã
ããã«é¢ããæŽæ°ã¯ãããŸããïŒ
誰ããæåã«è§£æ±ºçµæãæ瀺ããæ¹æ³ãç解ããå¿ èŠããããŸãã çŸåšããªãŸã«ããŒã®äœæ¥ã«æºãã£ãŠããAFAIKãããã¡ã³ãããŒã¯å šå¡ããªãŸã«ããŒèªäœã®æ¹åã«åãçµãã§ãããããåé²ããã«ã¯å€éšããã®æ¯æŽãå¿ èŠã«ãªããŸãã
ç§ãééã£ãŠããå Žåã¯èšæ£ããŠãã ããããã ãã次ã®ããšãåœãŠã¯ãŸãããã§ãã
--dry-run
ãªãã·ã§ã³ããªããšãpipã®ãªãŸã«ããŒãã€ã³ã¹ããŒã«ãéžæããããã±ãŒãžãç°¡åãã€ä¿¡é Œæ§ã®é«ãæ¹æ³ã§ç¥ãããšã¯ã§ããŸããããããã£ãŠã pip install
ãå®è¡ãããšããããšã¯ãç°¡åã§ä¿¡é Œæ§ã®é«ãç£æ»æ¹æ³ããªããŠããèªåã®ãã·ã³ã§ä»»æã«éžæããPyPIããã±ãŒãžããã³ãŒããå®è¡ããããšã«åæããããšãæå³ããããã«æãããŸãã ãã®éžæã¯ãåã
ã®ããã±ãŒãžäœæè
ã®äŸåé¢ä¿ã®éžæãšã»ãã¥ãªãã£æ
£è¡ã«ååž°çã«äŸåããŸãã
ã€ã³ã¹ããŒã«ãããããžã§ã¯ããšããŒãžã§ã³ã«ãœãŒã¹ãã£ã¹ããªãã¥ãŒã·ã§ã³ïŒsdistãsetup.pyãå«ãŸããïŒã®ã¿ããããããã€ãŒã«ïŒãã«ãããããã£ã¹ããªãã¥ãŒã·ã§ã³ãã¡ã¿ããŒã¿ããã¹ããã¡ã€ã«ãå«ãŸãããä»»æã®ã³ãŒããå®è¡ãããããšãªããã¡ã€ã«ã³ããŒã«ãã£ãŠã€ã³ã¹ããŒã«ãããïŒããããã«ãã£ãŠç°ãªããŸãã
--dry-runã䜿çšããŠããpipã¯ããã€ãŒã«ãæããªãããã±ãŒãžïŒsetuptoolsã®å Žåã¯setup.pyã®å®è¡ãå«ãïŒã®ãã«ãããã¯ãšã³ããå®è¡ããå¿ èŠãããå¯èœæ§ããããŸãã
æãåèã«ãªãã³ã¡ã³ã
誰ããæåã«è§£æ±ºçµæãæ瀺ããæ¹æ³ãç解ããå¿ èŠããããŸãã çŸåšããªãŸã«ããŒã®äœæ¥ã«æºãã£ãŠããAFAIKãããã¡ã³ãããŒã¯å šå¡ããªãŸã«ããŒèªäœã®æ¹åã«åãçµãã§ãããããåé²ããã«ã¯å€éšããã®æ¯æŽãå¿ èŠã«ãªããŸãã