Pip: pip 20.0μ—μ„œ μΌμΉ˜ν•˜μ§€ μ•ŠλŠ” 휠 νƒœκ·Έλ‘œ 인해 "μΌμΉ˜ν•˜λŠ” 뢄포 μ—†μŒ"

에 λ§Œλ“  2020λ…„ 01μ›” 21일  Β·  38μ½”λ©˜νŠΈ  Β·  좜처: pypa/pip

ν™˜κ²½

  • pip 버전 : 20.0.1
  • Python 버전 : 3.6.9
  • 운영체제 : Ubuntu 18.04

기술
Pip은 더 이상 0.9.5보닀 μƒˆλ‘œμš΄ mxnet 버전을 μ„€μΉ˜ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

μ˜ˆμƒλ˜λŠ” 행동
ν•  수 μžˆμ–΄μ•Όν•©λ‹ˆλ‹€. :-) 이것은 핍 20 이전에 μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

μž¬ν˜„ 방법
가상 ν™˜κ²½μ— mxnet==1.3.1 을 (λ₯Ό) μ„€μΉ˜ν•΄λ³΄μ‹­μ‹œμ˜€.

μ‚°μΆœ

$ virtualenv -ppython3 /tmp/venv
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /tmp/venv/bin/python3
Also creating executable in /tmp/venv/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
$ /tmp/venv/bin/pip install mxnet==1.3.1
ERROR: Could not find a version that satisfies the requirement mxnet==1.3.1 (from versions: 0.9.5)
ERROR: No matching distribution found for mxnet==1.3.1

pip install λ₯Ό --verbose pip install 와 ν•¨κ»˜ μ‹€ν–‰ν•˜λ©΄ 큰 λ‘œκ·Έκ°€ μƒμ„±λ˜λ©° λ‹€μŒκ³Ό 같이 κ΄€λ ¨μ„±μ΄μžˆλŠ” κ²ƒμ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€.

  Skipping link: none of the wheel's tags match: py2-none-manylinux1_x86_64, py3-none-manylinux1_x86_64: https://files.pythonhosted.org/packages/f0/2e/b26eb7273aed1945f59993b3b306442eb41684f931b5380821c39cf50a31/mxnet-1.3.1-py2.py3-none-manylinux1_x86_64.whl#sha256=939575fddd45e8ba39177dd3d53ccce64dea312bc08f493392b1ecace9e1b117 (from https://pypi.org/simple/mxnet/)
vendored dependency auto-locked bug

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

κ·Έλ•ŒκΉŒμ§€ ν˜„μž¬ λ‘ν†΅μ—μ„œ νšŒλ³΅λ˜μ—ˆλ‹€κ³  κ°€μ •ν•˜κ³  내일 버그 μˆ˜μ • 릴리슀λ₯Ό κΈ°λŒ€ν•˜μ‹­μ‹œμ˜€. :)

λͺ¨λ“  38 λŒ“κΈ€

사내 휠과 ν•¨κ»˜ 버전 20.0.1을 μ‚¬μš©ν•˜λŠ” κ²½μš°μ—λ„μ΄ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

(venv) C:\depot\bitbucket\mytests\tests_pti>pip -vvv install C:\Users\otrejoso\Downloads\pti-2.0.510-py3-none-win_amd64.whl
Non-user install because user site-packages disabled
Created temporary directory: C:\Users\otrejoso\AppData\Local\Temp\pip-ephem-wheel-cache-wquw3si6
Created temporary directory: C:\Users\otrejoso\AppData\Local\Temp\pip-req-tracker-ik56de2r
Initialized build tracking at C:\Users\otrejoso\AppData\Local\Temp\pip-req-tracker-ik56de2r
Created build tracker: C:\Users\otrejoso\AppData\Local\Temp\pip-req-tracker-ik56de2r
Entered build tracker: C:\Users\otrejoso\AppData\Local\Temp\pip-req-tracker-ik56de2r
Created temporary directory: C:\Users\otrejoso\AppData\Local\Temp\pip-install-vb0u5yy4
Cleaning up...
Removed build tracker: 'C:\\Users\\otrejoso\\AppData\\Local\\Temp\\pip-req-tracker-ik56de2r'
ERROR: pti-2.0.510-py3-none-win_amd64.whl is not a supported wheel on this platform.
Exception information:
....
pip._internal.exceptions.InstallationError: pti-2.0.510-py3-none-win_amd64.whl is not a supported wheel on this platform.

pip install pip==19.3.1 μ‚¬μš©ν•˜λ©΄ μ •μƒμ μœΌλ‘œ μž‘λ™ν•©λ‹ˆλ‹€.

사내 νœ λ„ λ§ˆμ°¬κ°€μ§€μž…λ‹ˆλ‹€.

μž‘λ™ν•˜μ§€ μ•ŠμŒ :
pip install -U pip==20.0.1; pip install <wheel>
였λ₯˜:이 ν”Œλž«νΌμ—μ„œ μ§€μ›λ˜λŠ” 휠이 μ•„λ‹™λ‹ˆλ‹€.

곡μž₯:
pip install -U pip==19.3.1; pip install <wheel>

μ—¬κΈ°μ„œ ν”Œλž«νΌ νƒœκ·Έκ°€ 문제인 것 κ°™μŠ΅λ‹ˆλ‹€. 'any'νƒœκ·Έκ°€ μž‘λ™ν•˜μ§€λ§Œμ΄ 지정 νœ μ—λŠ” 'linux_x86_64'κ°€ μžˆμŠ΅λ‹ˆλ‹€.

λ‚΄κ°€ 가지고 μžˆμŒμ— μœ μ˜ν•˜μ‹­μ‹œμ˜€.

uname -a
Linux <propretiery> 3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

 python -c "import wheel.pep425tags as w; print(w.get_supported())"
[('cp27', 'cp27mu', 'linux_x86_64'), ('cp27', 'none', 'linux_x86_64'), ('cp27', 'none', 'any'), ('cp2', 'none', 'any'), ('cp26', 'none', 'any'), ('cp25', 'none', 'any'), ('cp24', 'none', 'any'), ('cp23', 'none', 'any'), ('cp22', 'none', 'any'), ('cp21', 'none', 'any'), ('cp20', 'none', 'any'), ('py2', 'none', 'linux_x86_64'), ('py27', 'none', 'any'), ('py2', 'none', 'any'), ('py26', 'none', 'any'), ('py25', 'none', 'any'), ('py24', 'none', 'any'), ('py23', 'none', 'any'), ('py22', 'none', 'any'), ('py21', 'none', 'any'), ('py20', 'none', 'any')]

여기도 λ§ˆμ°¬κ°€μ§€μž…λ‹ˆλ‹€.

19.3.1은 μž‘λ™ν•˜μ§€λ§Œ 20.0.1은 λ‹€μŒμ„ μ œκ³΅ν•©λ‹ˆλ‹€.
pip._internal.exceptions.InstallationError : pyenchant-2.0.0-py2.py3.cp27.cp32.cp33.cp34.cp35.cp36.pp27.pp33.pp35-none-win32.whl은이 ν”Œλž«νΌμ—μ„œ μ§€μ›λ˜λŠ” 휠이 μ•„λ‹™λ‹ˆλ‹€.

λ‚΄ PC 용 νƒœκ·Έ : [( 'cp37', 'cp37m', 'win32'), ( 'cp37', 'none', 'win32'), ( 'cp37', 'none', 'any'), ( ' cp3 ','none ','any '), ('cp36 ','none ','any '), ('cp35 ','none ','any '), ('cp34 ','none ',' any '), ('cp33 ','none ','any '), ('cp32 ','none ','any '), ('cp31 ','none ','any '), ('cp30 ' , 'none', 'any'), ( 'py3', 'none', 'win32'), ( 'py37', 'none', 'any'), ( 'py3', 'none', 'any' ), ( 'py36', 'none', 'any'), ( 'py35', 'none', 'any'), ( 'py34', 'none', 'any'), ( 'py33', ' none ','any '), ('py32 ','none ','any '), ('py31 ','none ','any '), ('py30 ','none ','any ')]

νŒŒμΌμ— λŒ€ν•œ νƒœκ·ΈλŠ” 파일 μ΄λ¦„μ—μ„œ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

pip 20.0.1κ³Ό pip 19.3.1μ—μ„œ pip debug -v 의 차이λ₯Ό 인쇄 ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

--- /tmp/old.txt    2020-01-21 17:22:10.221211433 +0300
+++ /tmp/new.txt    2020-01-21 17:22:30.725552363 +0300
@@ -1,4 +1,4 @@
-pip version: pip 19.3.1 from /tmp/venv/lib/python3.6/site-packages/pip (python 3.6)
+pip version: pip 20.0.1 from /tmp/venv/lib/python3.6/site-packages/pip (python 3.6)
 sys.version: 3.6.9 (default, Nov  7 2019, 10:44:02) 
 [GCC 8.3.0]
 sys.executable: /tmp/venv/bin/python3
@@ -8,7 +8,11 @@
 sys.platform: linux
 sys.implementation:
   name: cpython
-Compatible tags: 42
+'cert' config value: global
+REQUESTS_CA_BUNDLE: None
+CURL_CA_BUNDLE: None
+pip._vendor.certifi.where(): /tmp/venv/lib/python3.6/site-packages/pip/_vendor/certifi/cacert.pem
+Compatible tags: 41
   cp36-cp36m-manylinux2014_x86_64
   cp36-cp36m-manylinux2010_x86_64
   cp36-cp36m-manylinux1_x86_64
@@ -37,12 +41,11 @@
   cp32-abi3-manylinux2010_x86_64
   cp32-abi3-manylinux1_x86_64
   cp32-abi3-linux_x86_64
-  py3-none-manylinux2014_x86_64
-  py3-none-manylinux2010_x86_64
-  py3-none-manylinux1_x86_64
-  py3-none-linux_x86_64
+  py36-none-manylinux2014_x86_64
+  py36-none-manylinux2010_x86_64
+  py36-none-manylinux1_x86_64
+  py36-none-linux_x86_64
   cp36-none-any
-  cp3-none-any
   py36-none-any
   py3-none-any
   py35-none-any

```diff
-pip 버전 : c : sdkspython37-32libsite-packagespip (python 3.7)의 pip 19.3.1
+ pip 버전 : c : sdkspython37-32libsite-packagespip (python 3.7)의 pip 20.0.1
sys.version : 3.7.6 (tags / v3.7.6 : 43364a7ae0, 2019 λ…„ 12 μ›” 18 일, 23:46:00) [MSC v.1916 32 λΉ„νŠΈ (Intel)]
sys.executable : c : sdkspython37-32python.exe
sys.getdefaultencoding : utf-8
@@ -8,14 +8,21 @@ locale.getpreferredencoding : cp1252
sys.platform : win32
sys.implementation :
이름 : cpython
-ꡬ성 λ³€μˆ˜ 'Py_DEBUG'κ°€ μ„€μ •λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. Python ABI νƒœκ·Έκ°€ 잘λͺ»λ˜μ—ˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.
-ꡬ성 λ³€μˆ˜ 'WITH_PYMALLOC'κ°€ μ„€μ •λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. Python ABI νƒœκ·Έκ°€ 잘λͺ»λ˜μ—ˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.
α†ž ν˜Έν™˜ νƒœκ·Έ : 14
+ 'cert'ꡬ성 κ°’ : κΈ€λ‘œλ²Œ
+ REQUESTS_CA_BUNDLE : μ—†μŒ
+ CURL_CA_BUNDLE : μ—†μŒ
+ pip._vendor.certifi.where () : c : sdkspython37-32libsite-packagespip_vendorcertificacert.pem
+ ν˜Έν™˜ νƒœκ·Έ : 19
cp37-cp37m-win32
+ cp37-abi3-win32
cp37- μ—†μŒ -win32
-py3-none-win32
+ cp36-abi3-win32
+ cp35-abi3-win32
+ cp34-abi3-win32
+ cp33-abi3-win32
+ cp32-abi3-win32
+ py37-none-win32
cp37-none-any
-cp3- μ—†μŒ
py37- μ—†μŒ
py3- μ—†μŒ
py36- μ—†μŒ

Windows와 μœ μ‚¬ν•©λ‹ˆλ‹€-좜λ ₯의 νƒœκ·Έ μ„Ήμ…˜ :

--- ".\\pip19.txt"      2020-01-21 14:30:16 +0000
+++ ".\\pip20.txt"      2020-01-21 14:26:54 +0000
@@ -1,9 +1,15 @@
-Compatible tags: 15
+Compatible tags: 21
   cp38-cp38-win_amd64
+  cp38-abi3-win_amd64
   cp38-none-win_amd64
-  py3-none-win_amd64
+  cp37-abi3-win_amd64
+  cp36-abi3-win_amd64
+  cp35-abi3-win_amd64
+  cp34-abi3-win_amd64
+  cp33-abi3-win_amd64
+  cp32-abi3-win_amd64
+  py38-none-win_amd64
   cp38-none-any
-  cp3-none-any
   py38-none-any
   py3-none-any
   py37-none-any

packaging.tags μ—λŠ” pip 19μ—μ„œ λ‚΄λΆ€μ μœΌλ‘œ μ‚¬μš© 된 버전 pip와 λ‹€λ₯Έ κ°’μ΄μžˆλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. μ£Όμš” 차이점은 {py3,cp3}-none-win_amd64 κ°€ μ—†λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. bdist_wheel AFAIK에 μ˜ν•΄ 생성 된 ν‘œμ€€ νƒœκ·Έκ°€ μ•„λ‹ˆλ―€λ‘œ μ΅œμ†Œν•œ μ‚¬μš©μž μ •μ˜ νƒœκ·Έλ₯Ό μ„€μ • ν•œ μ‚¬λžŒμ—κ²Œλ§Œ 영ν–₯이 μ œν•œλ©λ‹ˆλ‹€.

사양은 이와 같은 μ‚¬μš©μž μ •μ˜ νƒœκ·Έκ°€ μœ νš¨ν•œ 지에 λŒ€ν•΄ 많이 μ–ΈκΈ‰ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ "μ •μ˜λ˜μ§€ μ•Šμ€ λ™μž‘"μ˜μ—­μ—μžˆμ„ κ²ƒμž…λ‹ˆλ‹€. 이둜 인해 영ν–₯μ„λ°›λŠ” μ‚¬λžŒλ“€μ—κ²Œ λ„μ›€μ΄λ˜μ§€λŠ” μ•Šμ§€λ§Œ, ν‘œμ€€μ— 더 ꡬ체적인 것이 쒋을 κ²ƒμž„μ„ μ‹œμ‚¬ν•©λ‹ˆλ‹€.

BTW, mxnet-1.5.1.post0-py2.py3-none-manylinux1_x86_64.whl 이 무엇을 의미 ν•˜λŠ”μ§€ μ™„μ „νžˆ λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. mxnet의 MacOS λ¦΄λ¦¬μŠ€μ—λŠ” νŠΉμ • ABI μ„ΈνŠΈκ°€ μžˆμŠ΅λ‹ˆλ‹€. manylinux λΉŒλ“œκ°€ μ•„λ‹Œ μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ? Numpy의 manylinux λΉŒλ“œμ—λŠ” ABIκ°€ μžˆμœΌλ―€λ‘œ manylinux 도ꡬ λͺ¨μŒμ—μ„œ 일반적인 λ¬Έμ œκ°€ μ•„λ‹Œ 것 κ°™μŠ΅λ‹ˆλ‹€. pyenchant의 νƒœκ·Έλ„ μ•½κ°„ 이상해 λ³΄μž…λ‹ˆλ‹€ ...

mxnet의 MacOS λ¦΄λ¦¬μŠ€μ—λŠ” νŠΉμ • ABI μ„ΈνŠΈκ°€ μžˆλŠ”λ° manylinuxκ°€ λΉŒλ“œν•˜μ§€ μ•ŠλŠ” μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ?

Linux νŒ¨ν‚€μ§€λ₯Ό κ°„λ‹¨νžˆ ν™•μΈν•œ κ²°κ³Ό Python 기호λ₯Ό μ°Έμ‘°ν•˜λŠ” λ„€μ΄ν‹°λΈŒ λΌμ΄λΈŒλŸ¬λ¦¬κ°€μ—†λŠ” κ²ƒμœΌλ‘œ λ³΄μž…λ‹ˆλ‹€. MXNet은 λ„€μ΄ν‹°λΈŒ μ½”λ“œμ™€μ˜ μƒν˜Έ μš΄μš©μ„ μœ„ν•΄ ctypes 을 μ‚¬μš©ν•˜λŠ” κ²ƒμ²˜λŸΌ λ³΄μ΄λ―€λ‘œ ABIκ°€μ—†λŠ” 것이 ν•©λ¦¬μ μž…λ‹ˆλ‹€.

pip == 20.0.1을 μ‚¬μš©ν•˜μ—¬ icc-rt (intel-numpyμ—μ„œ) (2020.0.133)λ₯Ό μ„€μΉ˜ν•˜λŠ” 데 λ™μΌν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.

Linux νŒ¨ν‚€μ§€λ₯Ό κ°„λ‹¨νžˆ ν™•μΈν•œ κ²°κ³Ό Python 기호λ₯Ό μ°Έμ‘°ν•˜λŠ” λ„€μ΄ν‹°λΈŒ λΌμ΄λΈŒλŸ¬λ¦¬κ°€μ—†λŠ” κ²ƒμœΌλ‘œ λ³΄μž…λ‹ˆλ‹€. MXNet은 λ„€μ΄ν‹°λΈŒ μ½”λ“œμ™€μ˜ μƒν˜Έ μš΄μš©μ„ μœ„ν•΄ ctypesλ₯Ό μ‚¬μš©ν•˜λŠ” κ²ƒμ²˜λŸΌ λ³΄μ΄λ―€λ‘œ ABIκ°€μ—†λŠ” 것은 μ˜λ―Έκ°€ μžˆμŠ΅λ‹ˆλ‹€.

확인. λͺ¨λ“  것에 ctypesλ₯Ό μ‚¬μš©ν•œλ‹€λ©΄ μ™œ "manylinux"νƒœκ·Έκ°€ ν•„μš”ν•©λ‹ˆκΉŒ? 사싀, κ·Έ μ§ˆλ¬Έμ— μ‹œκ°„μ„ ν—ˆλΉ„ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€. μ €λŠ” Linux μ „λ¬Έκ°€κ°€ μ•„λ‹ˆλ―€λ‘œ μ–΄μ¨Œλ“  λŒ€λ‹΅μ„ λ”°λ₯΄μ§€ μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€.

μ΅œμ†Œν•œ packaging λΌμ΄λΈŒλŸ¬λ¦¬μ— λŒ€ν•œ 문제둜 μ œκΈ°λ˜μ–΄μ•Όν•˜λŠ” κ²ƒμ²˜λŸΌ λ“€λ¦½λ‹ˆλ‹€. pipκ°€ λ¬΄μ—‡μ„ν•˜λŠ”μ§€μ— 관계없이, 이것이 μœ νš¨ν•œ νƒœκ·ΈλΌλ©΄ packaging.tags μ—μ„œ μ§€μ›λ˜μ–΄μ•Όν•˜λ©°, μ–΄λ–€ νƒœκ·Έκ°€ μ§€μ›λ˜μ–΄μ•Όν•˜λŠ”μ§€μ— λŒ€ν•œ 일반적인 λ…Όμ˜κ°€ 여기보닀 κ±°κΈ°μ—μ„œ 더 λ‚«μŠ΅λ‹ˆλ‹€.

확인. λͺ¨λ“  것에 ctypesλ₯Ό μ‚¬μš©ν•œλ‹€λ©΄ μ™œ "manylinux"νƒœκ·Έκ°€ ν•„μš”ν•©λ‹ˆκΉŒ? 사싀, κ·Έ μ§ˆλ¬Έμ— μ‹œκ°„μ„ ν—ˆλΉ„ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€. μ €λŠ” Linux μ „λ¬Έκ°€κ°€ μ•„λ‹ˆλ―€λ‘œ μ–΄μ¨Œλ“  λŒ€λ‹΅μ„ λ”°λ₯΄μ§€ μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€.

μ–΄μ¨Œλ“  λŒ€λ‹΅ν•˜κ² μŠ΅λ‹ˆλ‹€ : νœ μ—λŠ” κΈ°λ³Έ Linux λΌμ΄λΈŒλŸ¬λ¦¬κ°€ μžˆμœΌλ―€λ‘œ manylinux1 νƒœκ·Έκ°€ μ˜λ―Έκ°€ μžˆμŠ΅λ‹ˆλ‹€.

https://github.com/pypa/pip/issues/7620#issuecomment -576743862μ—μ„œ @tomasaschan 은 xgboost λŒ€ν•΄ λ™μΌν•œ 문제라고 μƒκ°ν•˜λŠ” κ²ƒμ„λ³΄κ³ ν–ˆμœΌλ©° xgboost-0.90-py2.py3-none-manylinux1_x86_64.whl 둜 λ°°μ†‘λ©λ‹ˆλ‹€. λ˜ν•œ JVM 용으둜 λ„€μ΄ν‹°λΈŒ 라이브러리λ₯Ό ν¬ν•¨ν•˜λŠ” κ²ƒμœΌλ‘œ λ³΄μž…λ‹ˆλ‹€.

@IRDonch κ°μ‚¬ν•©λ‹ˆλ‹€. 사싀 κ·Έ μ„€λͺ…은 πŸ™‚ 감각을 λ§Œλ“­λ‹ˆλ‹€μ— 따라 μ•Šμ•˜λ‹€.

@jamadden λ™μ˜, 같은 문제처럼 λ³΄μž…λ‹ˆλ‹€.

@jamadden 이것이 λ™μΌν•œ 지 ν™•μΈν•˜κΈ° μœ„ν•΄ λ‘œμ»¬μ—μ„œ 무엇을 ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

@tomasaschan pip debug -v 의 좜λ ₯을 여기에 λΆ™μ—¬ 넣을 수 μžˆμŠ΅λ‹ˆκΉŒ?

 Ξ» diff pip19.log pip20.log 
1c1
- pip version: pip 19.3.1 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
---
+ pip version: pip 20.0.1 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
11c11,15
- Compatible tags: 42
---
+ 'cert' config value: global
+ REQUESTS_CA_BUNDLE: None
+ CURL_CA_BUNDLE: None
+ pip._vendor.certifi.where(): /usr/local/lib/python3.6/dist-packages/pip/_vendor/certifi/cacert.pem
+ Compatible tags: 41
40,43c44,47
-   py3-none-manylinux2014_x86_64
-   py3-none-manylinux2010_x86_64
-   py3-none-manylinux1_x86_64
-   py3-none-linux_x86_64
---
+   py36-none-manylinux2014_x86_64
+   py36-none-manylinux2010_x86_64
+   py36-none-manylinux1_x86_64
+   py36-none-linux_x86_64
45d48
-   cp3-none-any

 Ξ» cat pip19.log 
pip version: pip 19.3.1 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
sys.version: 3.6.9 (default, Nov  7 2019, 10:44:02) 
[GCC 8.3.0]
sys.executable: /usr/bin/python
sys.getdefaultencoding: utf-8
sys.getfilesystemencoding: utf-8
locale.getpreferredencoding: UTF-8
sys.platform: linux
sys.implementation:
  name: cpython
Compatible tags: 42
  cp36-cp36m-manylinux2014_x86_64
  cp36-cp36m-manylinux2010_x86_64
  cp36-cp36m-manylinux1_x86_64
  cp36-cp36m-linux_x86_64
  cp36-abi3-manylinux2014_x86_64
  cp36-abi3-manylinux2010_x86_64
  cp36-abi3-manylinux1_x86_64
  cp36-abi3-linux_x86_64
  cp36-none-manylinux2014_x86_64
  cp36-none-manylinux2010_x86_64
  cp36-none-manylinux1_x86_64
  cp36-none-linux_x86_64
  cp35-abi3-manylinux2014_x86_64
  cp35-abi3-manylinux2010_x86_64
  cp35-abi3-manylinux1_x86_64
  cp35-abi3-linux_x86_64
  cp34-abi3-manylinux2014_x86_64
  cp34-abi3-manylinux2010_x86_64
  cp34-abi3-manylinux1_x86_64
  cp34-abi3-linux_x86_64
  cp33-abi3-manylinux2014_x86_64
  cp33-abi3-manylinux2010_x86_64
  cp33-abi3-manylinux1_x86_64
  cp33-abi3-linux_x86_64
  cp32-abi3-manylinux2014_x86_64
  cp32-abi3-manylinux2010_x86_64
  cp32-abi3-manylinux1_x86_64
  cp32-abi3-linux_x86_64
  py3-none-manylinux2014_x86_64
  py3-none-manylinux2010_x86_64
  py3-none-manylinux1_x86_64
  py3-none-linux_x86_64
  cp36-none-any
  cp3-none-any
  py36-none-any
  py3-none-any
  py35-none-any
  py34-none-any
  py33-none-any
  py32-none-any
  py31-none-any
  py30-none-any
 Ξ» cat pip20.log 
pip version: pip 20.0.1 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
sys.version: 3.6.9 (default, Nov  7 2019, 10:44:02) 
[GCC 8.3.0]
sys.executable: /usr/bin/python
sys.getdefaultencoding: utf-8
sys.getfilesystemencoding: utf-8
locale.getpreferredencoding: UTF-8
sys.platform: linux
sys.implementation:
  name: cpython
'cert' config value: global
REQUESTS_CA_BUNDLE: None
CURL_CA_BUNDLE: None
pip._vendor.certifi.where(): /usr/local/lib/python3.6/dist-packages/pip/_vendor/certifi/cacert.pem
Compatible tags: 41
  cp36-cp36m-manylinux2014_x86_64
  cp36-cp36m-manylinux2010_x86_64
  cp36-cp36m-manylinux1_x86_64
  cp36-cp36m-linux_x86_64
  cp36-abi3-manylinux2014_x86_64
  cp36-abi3-manylinux2010_x86_64
  cp36-abi3-manylinux1_x86_64
  cp36-abi3-linux_x86_64
  cp36-none-manylinux2014_x86_64
  cp36-none-manylinux2010_x86_64
  cp36-none-manylinux1_x86_64
  cp36-none-linux_x86_64
  cp35-abi3-manylinux2014_x86_64
  cp35-abi3-manylinux2010_x86_64
  cp35-abi3-manylinux1_x86_64
  cp35-abi3-linux_x86_64
  cp34-abi3-manylinux2014_x86_64
  cp34-abi3-manylinux2010_x86_64
  cp34-abi3-manylinux1_x86_64
  cp34-abi3-linux_x86_64
  cp33-abi3-manylinux2014_x86_64
  cp33-abi3-manylinux2010_x86_64
  cp33-abi3-manylinux1_x86_64
  cp33-abi3-linux_x86_64
  cp32-abi3-manylinux2014_x86_64
  cp32-abi3-manylinux2010_x86_64
  cp32-abi3-manylinux1_x86_64
  cp32-abi3-linux_x86_64
  py36-none-manylinux2014_x86_64
  py36-none-manylinux2010_x86_64
  py36-none-manylinux1_x86_64
  py36-none-linux_x86_64
  cp36-none-any
  py36-none-any
  py3-none-any
  py35-none-any
  py34-none-any
  py33-none-any
  py32-none-any
  py31-none-any
  py30-none-any

pip/_vendor/packaging/tags.py
332c332
-         platforms = _platform_tags
---
+         platforms = _platform_tags()
334c334
-         for platform_ in platforms():
---
+         for platform_ in platforms:

문제λ₯Ό ν•΄κ²°ν•˜λŠ” 것 κ°™λ‹€

λ‹€μŒμ€ 였λ₯˜ λ©”μ‹œμ§€λ₯Ό μž¬ν˜„ν•˜λŠ” Dockerfileμž…λ‹ˆλ‹€.

FROM ubuntu:bionic-20190912.1

RUN set -ex \
  && apt-get update \
  && apt-get install -y --no-install-recommends \
  ca-certificates \
  python3 python3-dev python3-pip

RUN pip3 install --upgrade pip==20.0.1 setuptools

RUN echo "xgboost==0.81" >> requirements.txt

RUN pip3 install -r requirements.txt

@jeroendecroos 쒋은 캐치- packaging.tags 의 직접적인 버그 일 수 μžˆμŠ΅λ‹ˆλ‹€ (맀번 λ‹€μ‹œ λ§Œλ“œλŠ” λŒ€μ‹  반볡자λ₯Ό λ‹€μ‹œ μ‚¬μš©). 이것에 λŒ€ν•΄ https://github.com/pypa/packaging에 λŒ€ν•œ 문제λ₯Ό μ—΄ β€‹β€‹μˆ˜ μžˆμŠ΅λ‹ˆκΉŒ? 그리고 PR둜 μˆ˜μ •ν•  수 μžˆλ‹€λ©΄ 더 쒋을 κ²ƒμž…λ‹ˆλ‹€!

이것이 λ„μ›€μ΄λ˜λŠ”μ§€ ν™•μ‹€ν•˜μ§€ μ•Šμ§€λ§Œ dotnetcore2 λ₯Ό) μ„€μΉ˜ν•˜λŠ” 것과 λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€.

macOSμ—μ„œ freetype-py와 λ™μΌν•œ 문제 λ°œμƒ : https://github.com/rougier/freetype-py/issues/119(19.3.1 에 κ³ μ •ν•˜μ—¬ "μˆ˜μ • 됨")

κ·Έλ•ŒκΉŒμ§€ ν˜„μž¬ λ‘ν†΅μ—μ„œ νšŒλ³΅λ˜μ—ˆλ‹€κ³  κ°€μ •ν•˜κ³  내일 버그 μˆ˜μ • 릴리슀λ₯Ό κΈ°λŒ€ν•˜μ‹­μ‹œμ˜€. :)

사내 휠 (pip 20.0.1)κ³Ό λ™μΌν•œ 문제둜 ν•΄κ²° 방법은 ν˜„μž¬ pip <20을 μ‚¬μš©ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. λ‹€κ°€μ˜€λŠ” 였늘의 μˆ˜μ •μœΌλ‘œ λ¬Έμ œκ°€ ν•΄κ²°λ˜κΈ°λ₯Ό λ°”λžλ‹ˆλ‹€. 감사!

Okie, # 7643이 문제λ₯Ό ν•΄κ²°ν•΄μ•Όν•©λ‹ˆλ‹€. 그것이 합쳐지면 (그리고 λ‚΄ λ…ΈνŠΈλΆμœΌλ‘œ λŒμ•„ κ°€λ©΄) pip 20.0.2 릴리슀λ₯Ό λ§Œλ“€ κ²ƒμž…λ‹ˆλ‹€.

μ‚¬λžŒλ“€μ΄ # 7643을 λŒλ €μ„œ μ‹€μ œλ‘œ 문제λ₯Ό ν•΄κ²°ν•˜λŠ”μ§€ ν™•μΈν•˜κ³  μ‹Άλ‹€λ©΄ 쒋을 κ²ƒμž…λ‹ˆλ‹€! 이λ₯Ό μ„€μΉ˜ν•˜λ €λ©΄ λ‹€μŒμ„ μˆ˜ν–‰ν•˜μ‹­μ‹œμ˜€.

pip install https://github.com/pypa/pip/archive/1cf779c1ea88053c690686571d67826f11463232.zip

PR을 μ‹œλ„ν–ˆλ‹€λ©΄μ΄ λŒ“κΈ€μ— λŒ€ν•œ πŸ‘ λ°˜μ‘μ„ μ‚¬μš©ν•˜μ„Έμš”. :)

Okie, μˆ˜μ •μ€ 이제 λ§ˆμŠ€ν„°μ— μžˆμŠ΅λ‹ˆλ‹€. μž μ‹œ ν›„ μΆœμ‹œ ν•  μ˜ˆμ •μž…λ‹ˆλ‹€. # 7531을 λ”°λΌμ£Όμ„Έμš”.

이에 λŒ€ν•œ μˆ˜μ • 사항이 포함 된 20.0.2κ°€ μΆœμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μ—¬μ „νžˆ μœ μ‚¬ν•œ λ‚΄μš©μ΄ ν‘œμ‹œλ˜λŠ” 경우 # 7629 (PyPyμ—μžˆλŠ” 경우)λ₯Ό λ³΄κ±°λ‚˜ μƒˆλ‘œμš΄ 문제λ₯Ό μ œμΆœν•˜μ„Έμš”. :)

이제 λͺ‡ λΆ„ 전에 릴리슀 된 pip 20.0.2μ—μ„œ λ‹€μ‹œ μž‘λ™ν•©λ‹ˆλ‹€. μ μ‹œ νŒ¨μΉ˜μ— κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€!

κ°μ‚¬ν•©λ‹ˆλ‹€. λ‹€μ‹œ μž‘λ™ν•©λ‹ˆλ‹€!

@pradyunsg μœ„μ˜ Docker μž¬ν˜„μ΄ 20.0.2μ—μ„œ μˆ˜μ •λ˜μ—ˆμŒμ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

이것에 λŒ€ν•œ ν›Œλ₯­ν•œ μž‘μ—…, 큰 감사 (우리 λͺ¨λ‘λ‘œλΆ€ν„°)! ❀️

νšŒκ·€κ°€ μžˆμŠ΅λ‹ˆλ‹€

ModuleNotFoundError: No module named 'pip._internal.download'

@afabiani 전체 μ—­ 좔적과 μž¬μƒμ‚° 방법에 λŒ€ν•œ 지침을 μ œκ³΅ν•΄ μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ? μƒˆλ‘œμš΄ λ¬Έμ œμ—μ„œλŠ”μ΄ 문제의 μ£Όμ œμ™€ κ΄€λ ¨μ΄μ—†λŠ” κ²ƒμ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€.

μ•„, # 7645

감사! μ΄λŠ” μ§€μ›λ˜μ§€ μ•ŠλŠ” pip μ‚¬μš©μœΌλ‘œ 인해 λ°œμƒν•˜λŠ” κ΄€λ ¨μ—†λŠ” 문제이며 pip 20.0.2에 λ„μž… 된 버그 / νšŒκ·€κ°€ μ•„λ‹™λ‹ˆλ‹€. @pfmoore κ°€ κ±°κΈ°μ—μ„œ 더 μžμ„Ένžˆ μ‘λ‹΅ν–ˆμŒμ„

κΈˆμš”μΌ λŠ¦κ²ŒκΉŒμ§€ 문제λ₯Ό ν•΄κ²°ν•˜κ³  였늘 μ•„μΉ¨ 직μž₯에 λ„μ°©ν•˜μ—¬ 이미 μˆ˜μ •λ˜μ–΄ μΆœμ‹œ 된 것을 ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€. μˆ˜μ • μž‘μ—…μ— μ°Έμ—¬ν•œ λͺ¨λ“  μ‚¬λžŒμ—κ²Œ κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€! :λ””

μ•Ό! 이 μˆ˜μ • (20.0.2)은 μ‹€μ œλ‘œ λ‚΄ 문제λ₯Ό ν•΄κ²°ν•˜μ§€ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€. λˆ„κ΅¬λ“ μ§€μ΄ 문제의 원인에 λŒ€ν•΄ λ‹¨μ„œκ°€ μžˆμŠ΅λ‹ˆκΉŒ?

pip install artifacts-keyring
색인보기 : https://pypi.org/simple, PRIVATE_PACKAGE_REFERENCE
유물 μ—΄μ‡  고리 μˆ˜μ§‘
artifacts_keyring-0.2.9-py2.py3-none-any.whl λ‹€μš΄λ‘œλ“œ (4.8MB)
| β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ | 4.8MB 2.5MB / s
μš”κ΅¬ 사항이 이미 μΆ©μ‘± 됨 : keyring> = 16.0 in /usr/local/lib/python3.7/site-packages (from artifacts-keyring) (21.1.0)
μš”κ΅¬ 사항이 이미 μΆ©μ‘± 됨 : requests> = 2.20.0 in /usr/local/lib/python3.7/site-packages (from artifacts-keyring) (2.22.0)
였λ₯˜ : dotnetcore2 μš”κ΅¬ 사항을 μΆ©μ‘±ν•˜λŠ” 버전을 찾을 수 μ—†μŠ΅λ‹ˆλ‹€. sys_platform! = "win32"and python_version> = "3.0"(from artifacts-keyring) (from ver
sions : μ—†μŒ)
였λ₯˜ : dotnetcore2에 λŒ€ν•΄ μΌμΉ˜ν•˜λŠ” 배포가 μ—†μŠ΅λ‹ˆλ‹€. sys_platform! = "win32"및 python_version> = "3.0"(artifacts-keyringμ—μ„œ)

μ—¬μ „νžˆ μœ μ‚¬ν•œ λ‚΄μš©μ΄ ν‘œμ‹œλ˜λŠ” 경우 # 7629 (PyPyμ—μžˆλŠ” 경우)λ₯Ό λ³΄κ±°λ‚˜ μƒˆλ‘œμš΄ 문제λ₯Ό μ œμΆœν•˜μ„Έμš”. :)

μƒˆλ‘œμš΄ 문제λ₯Ό μ œμΆœν•˜μ‹­μ‹œμ˜€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰