μλ¬Έ : μ λ 2020λ 1μ 1μΌ λ§κ°μΌ μ 체μ λν΄ μ μκ³ μμΌλ©° λͺ¨λ νλ‘μ νΈμμ Python 2λ₯Ό μμ νλ κ³Όμ μ μμ§λ§ setuptoolsμμ μ΄λ¬ν λλΌμμ μκ΄μμ΄ μλΉν λΆνΈν©λλ€. μ΄ λ¬Έμ λ₯Ό ν΄κ²°νμ§ μκΈ°λ‘ μ ννλ€λ©΄ μ λ μ무λ νλ¨νμ§ μκ² μ§λ§ Python 2κ° λ μ΄μ μ¬μ©λμ§ μλλ€λ κ°μλ νμ§ λ§μΈμ :-)
Python 2μ λͺ¨λ μλνλ κ°μ νκ²½ μμ± μ€ν¬λ¦½νΈκ° μ€λ μ€λ¨λκΈ° μμνμ΅λλ€.
λ€μμ μμ λλ€.
$ py -2.7-32 -m virtualenv foo
β¦
UnsupportedPythonVersion: Package 'setuptools' requires a different Python: 2.7.8 not in '>=3.5'
β¦
OSError: Command β¦\Scripts\python.exe - setuptools pip wheel failed with error code 1
μ΄κ²μ μ΄μ setuptools
v45.0.0 릴리μ€λ‘ μΈν΄ λ°μν κ² κ°μ΅λλ€.
v45.0.0: 2020λ 1μ 11μΌ
1458: Python 2μ λν μ§μ μ€λ¨. μ΄μ Setuptoolsμλ Python 3.5 μ΄μμ΄ νμν©λλ€. pip >=9λ₯Ό μ¬μ©νμ¬ setuptoolsλ₯Ό μ€μΉνκ±°λ Setuptools <45μ κ³ μ νμ¬ 2.7 μ§μμ μ μ§ν©λλ€.
1959: Python 4 μμ : μμ νμ§ μμ six.PY3μ six.PY2λ‘ κ΅μ²΄https://setuptools.readthedocs.io/en/latest/history.html#v45 -0-0
κΈ°λ³Έμ μΌλ‘ virtualenv
λ μ΅μ setuptoolsλ₯Ό μ€μΉνλ €κ³ μλνκ³ μ΄λ¬ν λ²μ μ΄ Python 2λ₯Ό μ§μνμ§ μλλΌλ pip install setuptools
λ setuptools>=45.0.0
μ ννλ κ² κ°μ΅λλ€.
ν΄κ²° λ°©λ²μΌλ‘ μ΄μ λ€μ λͺ λ Ήμ μ¬μ©νκ³ μμ΅λλ€.
$ py -2.7-32 -m virtualenv --no-setuptools foo
$ foo\Scripts\python -m pip install "setuptools<45"
μ λ Python ν¨ν€μ§μμ λ΄λ³΄λ΄κΈ°κ° μλμ§λ§ setuptools>=45
κ° λ°°ν¬ λ©νλ°μ΄ν°μμ Python 2λ₯Ό μ§μνμ§ μκ³ pip install setuptools
κ° μλμΌλ‘ μ΄λ₯Ό κ°μ§νκ³ νΌν κ²μ΄λΌκ³ μ μΈν κ²μΌλ‘ μμνμ§λ§ μ΄κ²μ κ·Έλ μ§ μμ κ² κ°μ΅λλ€.
μ΄ λ°©λ²μ μ¬μ©ν μμλ κ²½μ°, μλ§ λ²μ virtualenv
νμ΄μ¬ 2λ νΌν΄μΌνλ€ setuptools>=45
?
λλ μ΄κ²μ΄ μ€μν λ¬Έμ μμ νμΈν©λλ€. OpenStackμμ λλΆλΆμ κ²μ΄νΈλ μ΄λ‘ μΈν΄ atmμμ κΉ¨μ§λλ€. μ°Έμ‘°: http://lists.openstack.org/pipermail/openstack-discuss/2020-January/011956.html
λ³΄κ³ ν΄ μ£Όμ μ κ°μ¬ν©λλ€. /me 30λΆ λ¦μμ΅λλ€. virtualenvκ° pipμ μ΅μ 리쑸λ²λ₯Ό μ¬μ©ν κ²μ΄λΌκ³ μκ°νμ§λ§ κ²λ³΄κΈ°μλ κ·Έλ μ§ μμ΅λλ€.
λ€λ₯Έ λ€μ΄μ€νΈλ¦Ό https://github.com/pypa/setuptools/issues/1963μ λν setuptoolsμμ μ΄λ―Έ μΆμ λ¨
setuptools 45+κ° μ νλλ μ΄μ κ° νμ€νμ§ μμ κ²½μ° virtualenvs λΆνΈμ€νΈλ©μ setuptoolsμ λν΄ 44λ₯Ό μ μ§ν΄μΌ ν©λλ€. π€
λ€μμ μμΆμ μ λλ€. http://paste.openstack.org/show/788301/
legacy_resolveλ μ κ·μΉμ νκΈ°νλ κ²μ²λΌ λ€λ¦½λλ€.
μλ, νμν μλͺ»λ λ°©λ², μμ pipλ py λ²μ μ μ½ μ‘°κ±΄λ 무μν©λλ€(μλνλ κ²μΌλ‘ κ΄κ³ λκ³ μμμλ λΆκ΅¬νκ³ ): http://paste.openstack.org/show/788302/
λ΄μΌ μ΄ν΄λ³΄κ³ μμ μ¬νμ λ°ννκ² μ΅λλ€. λꡬλ μ§ κ·Έ μ μ ν보λ₯Ό ν μκ°μ΄ μλ€λ©΄ λμμ΄ λ κ²μ λλ€.
@yoctozepto λ λΉμ μ μ€ν¨λ₯Ό 볡μ ν μ μλ κ² κ°μ΅λλ€. μΌμ€ μμΈ μ λ³΄κ° ν¬ν¨λ μ 체 μμ± λ‘κ·Έλ₯Ό μ 곡ν μ μμ΅λκΉ?
@gaborbernat pypa/pip#7586κ³Ό λμΌν λ¬Έμ λΌλ©΄ @yoctozepto κ° μ¬μ© μ€μΈ PyPA λ―Έλ¬ μ€ νλμ λ²κ·ΈμΌ μ μμ΅λλ€.
λΆλͺ
ν κ·Έλ€ μ€ νλλ python_requires
μ 보λ₯Ό μ¬λ°λ₯΄κ² μ ννμ§ μμ΅λλ€.
κ·Έλ λ€λ©΄ μ΄κ²μ ν΄λΉ λ―Έλ¬μ λ²κ·Έμ λλ€. π€·ββ
λ€μμμ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ λ° λμμ΄λμμ΅λλ€.
pip install --upgrade 'setuptools<45.0.0'
λλ μ¬μ ν python 2.7μ μ¬μ©νλ νλ‘μ νΈλ‘ μμ
νκ³ μμ΅λλ€ :(, κ·Έλ¦¬κ³ λμΌν λ¬Έμ κ° μμμ΅λλ€.
κ·Έλ¬λ μμ λͺ
λ Ή(ikrambabai)μ μ¬μ©νλ©΄ λ€μ μλνμ΅λλ€!! :NS
κ°μ¬ ν΄μ!
κ·Έλ¬λ μ΄κ²μ virtualenv
κ° setuptools-45.0.0
λ€μ΄λ‘λνκ³ μ
κ·Έλ μ΄λκ° μμΌλ©΄( pip install --upgrade 'setuptools<45.0.0'
λ₯Ό μ¬μ©νμ¬ pipλ₯Ό ν΅ν΄ λ€μ΄κ·Έλ μ΄λ) μ€μ λ‘ μ κ±°νλ―λ‘ python 2.7μ© μ κ°μ νκ²½μ λ§λ€ λ μ¬μ ν μ€μν©λλ€. . μ μΌν ν΄κ²°μ±
μ μλμΌλ‘ ν μ λ€μ΄λ‘λνλ κ²μ
λλ€.
κ·Έλ¬λ μ΄κ²μ
virtualenv
κ°setuptools-45.0.0
λ€μ΄λ‘λνκ³ μ κ·Έλ μ΄λκ° μμΌλ©΄(pip install --upgrade 'setuptools<45.0.0'
λ₯Ό μ¬μ©νμ¬ pipλ₯Ό ν΅ν΄ λ€μ΄κ·Έλ μ΄λ) μ€μ λ‘ μ κ±°νλ―λ‘ python 2.7μ© μ κ°μ νκ²½μ λ§λ€ λ μ¬μ ν μ€μν©λλ€. . μ μΌν ν΄κ²°μ± μ μλμΌλ‘ ν μ λ€μ΄λ‘λνλ κ²μ λλ€.
μ΄κ²μ python-requires...λ₯Ό μ ννμ§ μλ μΈλ±μ€ μλ² λ€μ μλ κ²½μ°μλ§ λ°μνλ―λ‘ μΈλ±μ€ μλ²λ₯Ό μμ νλ κ²μ΄ μ’μ΅λλ€.
@gaborbernat λ΄κ° μκ³ μλ
virtualenvλ₯Ό μμ±ν λ ν¨ν€μ§λ₯Ό λ€μ΄λ‘λν λ pythonhosted.orgκ° μ¬μ©λλ κ²μ λ³Ό μ μμ΅λλ€.
Installing setuptools, pkg_resources, pip, wheel...
Running command /opt/llenv22/bin/python2.7 - setuptools pkg_resources pip wheel
Collecting setuptools
Using cached https://files.pythonhosted.org/packages/af/e7/02db816dc88c598281bacebbb7ccf2c9f1a6164942e88f1a0fded8643659/setuptools-45.0.0-py2.py3-none-any.whl
Collecting pkg_resources
Collecting pip
Using cached https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl
Collecting wheel
Using cached https://files.pythonhosted.org/packages/00/83/b4a77d044e78ad1a45610eb88f745be2fd2c6d658f9798a15e384b7d57c9/wheel-0.33.6-py2.py3-none-any.whl
pip install setuptools -vvv
μ λν -v νλκ·Έλ₯Ό μ λ¬νμκ² μ΅λκΉ?
μλνκ³ μ¬λ°λ₯Έ λ²μ μ΄ μ€μΉλ©λλ€.
Collecting setuptools
Created temporary directory: /tmp/pip-unpack-zJMfUH
Starting new HTTPS connection (1): files.pythonhosted.org:443
https://files.pythonhosted.org:443 "GET /packages/f9/d3/955738b20d3832dfa3cd3d9b07e29a8162edb480bf988332f5e6e48ca444/setuptools-44.0.0-py2.py3-none-any.whl HTTP/1.1" 200 583230
Downloading setuptools-44.0.0-py2.py3-none-any.whl (583 kB)
|ββββββββββββββββββββββββββββββββ| 583 kB 3.3 MB/s
Added setuptools from https://files.pythonhosted.org/packages/f9/d3/955738b20d3832dfa3cd3d9b07e29a8162edb480bf988332f5e6e48ca444/setuptools-44.0.0-py2.py3-none-any.whl#sha256=180081a244d0888b0065e18206950d603f6550721bd6f8c0a10221ed467dd78e to build tracker '/tmp/pip-req-tracker-OTDORt'
Removed setuptools from https://files.pythonhosted.org/packages/f9/d3/955738b20d3832dfa3cd3d9b07e29a8162edb480bf988332f5e6e48ca444/setuptools-44.0.0-py2.py3-none-any.whl#sha256=180081a244d0888b0065e18206950d603f6550721bd6f8c0a10221ed467dd78e from build tracker '/tmp/pip-req-tracker-OTDORt'
Installing collected packages: setuptools
Created temporary directory: /tmp/pip-unpacked-wheel-vDEYe
λ¬Έμ λ κ°μ νκ²½μ μμ±ν λλ§ λ°μν©λλ€.
@ostefano μ λ λ§μ°¬κ°μ§μμ΅λλ€. setuptools
λͺ
μμ μΌλ‘ μ€μΉνμ¬ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€.
$ py -2.7-32 -m virtualenv --no-setuptools foo
$ foo\Scripts\python -m pip install "setuptools<45"
μ°λ¦¬λ κ°μ λ¬Έμ μ μ§λ©΄νμ΅λλ€: https://github.com/mozilla-services/syncserver/issues/239
λ¨Όμ Requires-Python
νλκ·Έλ₯Ό μ‘΄μ€νμ§ μλ pythonhosted.orgλΌκ³ μκ°νμ§λ§ λμΌν λ―Έλ¬λ₯Ό μ¬μ©νλ©΄ Python 2.7.13μ Debian Stretchμμ μλνλ λ°λ©΄ Python 2.7.12μ Ubuntu Xenialμμλ μ€ν¨ν©λλ€. κ·Έλ μ§ μμΌλ©΄ κ½€ κΉ¨λν μμ€ν
μ€μ , Docker νκ²½μμλ ν
μ€νΈλμμ΅λλ€. Ubuntu Bionic λ° Python 2.7.17μμ μ΄λ―Έ λμΌν λ¬Έμ κ° λ³΄κ³ λμμΌλ―λ‘ Python λ²μ μ΄ μμΈμΌ μ μμ΅λλ€.
κ·Έλμ λλ λ²κ·Έκ° μ΄λμ/μ΄λ μμ€μμ κ²μλμ΄μΌ νλμ§ μμν΄ν©λλ€. Python, virtualenv, pip, pythonhosted.org λλ μ€κ°μ λκ°κ° μμ΅λκΉ?
ν΄κ²° λ°©λ²μ λͺ
ννμ§λ§ μ²μλΆν° setuptools 45κ° λΉκ²¨μ§ μ΄μ λ₯Ό μ‘°μ¬νκ³ μμ νλ κ²μ΄ μ’μ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
λ€μμμ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ λ° λμμ΄λμμ΅λλ€.
pip install --upgrade 'setuptools<45.0.0'