Numpy: NEP 14와 달리 numpy 1.17을 μ„€μΉ˜ν•˜λ €κ³  μ‹œλ„ν•˜λŠ” python 2.7에 pip μ„€μΉ˜

에 λ§Œλ“  2019λ…„ 08μ›” 16일  Β·  15μ½”λ©˜νŠΈ  Β·  좜처: numpy/numpy

pip install numpy on python 2.7은 python 2.7 지원을 μ€‘λ‹¨ν•œ numpy 1.17을 μ„€μΉ˜ν•˜λ €κ³  ν•©λ‹ˆλ‹€. 이것은 NEP 14에 μ„€λͺ…λœ κΈ°λŠ₯에 λ°˜λŒ€λ˜λ©° λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

... Python 2의 pip install numpy λŠ” κ³„μ†ν•΄μ„œ λ§ˆμ§€λ§‰ μž‘μ—… 릴리슀λ₯Ό 영ꡬ적으둜 μ œκ³΅ν•©λ‹ˆλ‹€...

Numpy/Python 버전 정보:

핍 버전: 19.2.2
파이썬: 2.7.15 |μ•„λ‚˜μ½˜λ‹€, Inc.| (κΈ°λ³Έκ°’, 2018λ…„ 10μ›” 23일, 18:31:10) n[GCC 7.3.0]

32 - Installation

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

μ§„μ§œ μ§ˆλ¬Έμ€ 파이썬 2.7을 μ‚¬μš©ν•˜λŠ” μ΄μœ μž…λ‹ˆλ‹€

μ—¬μ „νžˆ 2.7을 μ‹€ν–‰ν•΄μ•Ό ν•˜λŠ” νƒ€λ‹Ήν•œ μ΄μœ κ°€ 많이 μžˆμŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ„œ λ…ΌμŸμ„ μ‹œμž‘ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€.

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

pip λ˜λŠ” setuptools에 버그가 μžˆλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. 이둜 인해 pipλ₯Ό μ—…κ·Έλ ˆμ΄λ“œν•  수 μžˆμŠ΅λ‹ˆκΉŒ? (λ˜ν•œ gh-13911이 쀑볡일 κ²ƒμœΌλ‘œ μ˜ˆμƒν•©λ‹ˆλ‹€ μ°Έμ‘°). pip 자체λ₯Ό μ‚¬μš©ν•˜μ—¬ pipλ₯Ό μ—…κ·Έλ ˆμ΄λ“œν•  수 μžˆμŠ΅λ‹ˆλ‹€. python -m pip install --upgrade pip 및 python -m pip install --upgrade setuptools ?

μ§„μ§œ μ§ˆλ¬Έμ€ 파이썬 2.7을 μ‚¬μš©ν•˜λŠ” μ΄μœ μž…λ‹ˆλ‹€

μ§„μ§œ μ§ˆλ¬Έμ€ 파이썬 2.7을 μ‚¬μš©ν•˜λŠ” μ΄μœ μž…λ‹ˆλ‹€

μ—¬μ „νžˆ 2.7을 μ‹€ν–‰ν•΄μ•Ό ν•˜λŠ” νƒ€λ‹Ήν•œ μ΄μœ κ°€ 많이 μžˆμŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ„œ λ…ΌμŸμ„ μ‹œμž‘ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€.

pip λ˜λŠ” setuptools에 버그가 μžˆλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. 이둜 인해 pipλ₯Ό μ—…κ·Έλ ˆμ΄λ“œν•  수 μžˆμŠ΅λ‹ˆκΉŒ? (λ˜ν•œ gh-13911 이 쀑볡일 κ²ƒμœΌλ‘œ μ˜ˆμƒν•©λ‹ˆλ‹€ μ°Έμ‘°). pip 자체λ₯Ό μ‚¬μš©ν•˜μ—¬ pipλ₯Ό μ—…κ·Έλ ˆμ΄λ“œν•  수 μžˆμŠ΅λ‹ˆλ‹€. python -m pip install --upgrade pip 및 python -m pip install --upgrade setuptools ?

μ €λŠ” pip 19.2.2 및 setuptools 41.1.0의 μ΅œμ‹  버전을 μ‹€ν–‰ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ§„μ§œ μ§ˆλ¬Έμ€ 파이썬 2.7을 μ‚¬μš©ν•˜λŠ” μ΄μœ μž…λ‹ˆλ‹€

μ—¬μ „νžˆ 2.7을 μ‹€ν–‰ν•΄μ•Ό ν•˜λŠ” νƒ€λ‹Ήν•œ μ΄μœ κ°€ 많이 μžˆμŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ„œ λ…ΌμŸμ„ μ‹œμž‘ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€.

μ‹€μ œλ‘œ μžˆμŠ΅λ‹ˆλ‹€. 제 κ²½μš°μ—λŠ” py3둜 μ΄μ‹λ˜μ§€ μ•Šμ€ ν•™μˆ μ μœΌλ‘œ 개발된 κ³Όν•™ 뢄석 μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό μ‹€ν–‰ν•˜λ €κ³  ν•©λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ μ—¬κΈ°μ„œ μš”μ μ€ λ‚΄κ°€ 파이썬 2.7을 μ‚¬μš©ν•΄μ•Ό ν•˜λŠ”μ§€ μ—¬λΆ€κ°€ μ•„λ‹ˆλΌ numpyκ°€ μ˜ˆμƒλ˜λŠ” κΈ°λŠ₯에 λŒ€ν•œ 곡식적인 μ„€λͺ…을 μž‘μ„±ν–ˆμœΌλ©° μ§„μ •ν•œ κΈ°λŠ₯이 μ•„λ‹ˆλΌλŠ” κ²ƒμž…λ‹ˆλ‹€. λ‚΄ μƒκ°μ—λŠ” 그것이 λ²„κ·Έμž…λ‹ˆλ‹€.

μ–΄μ œ 2.7이 μ§€μ›λ˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ— pipκ°€ Python 2.7용 pytest 5.0.1을 μ„€μΉ˜ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” 사싀을 μ•Œμ•˜μœΌλ―€λ‘œ 일뢀 κ²½μš°μ—λŠ” pipκ°€ μ˜¬λ°”λ₯΄κ²Œ μž‘λ™ν•©λ‹ˆλ‹€. 1.17 μ—…λ°μ΄νŠΈκ°€ ν•„μš”ν•œ 정보가 μ–΄λ”˜κ°€μ— μžˆλŠ”μ§€ κΆκΈˆν•©λ‹ˆλ‹€.

python2.7 -mpip λ₯Ό μ‹œλ„ν•˜μ—¬ pipκ°€ μ‹€ν–‰ 쀑인 버전을 μ•Œκ³  μžˆλŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ pip와 ν˜Όν•©ν•˜λ©΄ 합병증이 될 수 μžˆλŠ” Anacondaλ₯Ό μ‚¬μš©ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

which pip λŠ”) 무엇을 ν‘œμ‹œν•˜λ‚˜μš”?

흠, λ‚΄ μ»΄ν“¨ν„°μ—μ„œλŠ” pip 18.1 및 setuptools 41.0.1이 잘 μž‘λ™ν•©λ‹ˆλ‹€(λ°”μ΄λ„ˆλ¦¬ λͺ¨λ“œ 및 λ°”μ΄λ„ˆλ¦¬ λͺ¨λ“œ μ—†μŒ). 19.2.2 및 41.1.0으둜 μ—…κ·Έλ ˆμ΄λ“œν•΄λ„ λ³€κ²½λ˜λŠ” 사항은 μ—†μŠ΅λ‹ˆλ‹€. 파이썬 버전은 2.7.16+ (λ°λΉ„μ•ˆ)μž…λ‹ˆλ‹€.

μ²™ λ…ΈνŠΈλ‘œμ„œ, λ‚˜λŠ” 당신이 μ‚¬μš©ν•΄μ•Όν•©λ‹ˆλ‹€ κ°€μ • python2.7 -mpip λŒ€μ‹  pip 당신이 μ‚¬μš©ν•˜λŠ” κ²½μš°μ— (당신이 μ΅œμ‹  μ„€μΉ˜ 버전을 얻을 것을 ν™•μ‹ ν•˜κΈ° --user λ˜λŠ” λ‹€λ₯Έμ΄λ₯Ό μ–΄λ–€ 이유둜 μ£Όμœ„μ— pip 버전.)?

μ •ν™•ν•œ 원인이 무엇인지 μ΄ν•΄ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

@IPetrik μ™„μ „νžˆ μž¬ν˜„ κ°€λŠ₯ν•œ 예제λ₯Ό λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆκΉŒ? Anacondaλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμœΌλ―€λ‘œ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

conda create -n py27-empty
conda activate py27-empty
conda install pip
# Some diagnostics
which pip
pip --version
conda list setuptools

pip install numpy

μ΄κ²ƒμ˜ μ—¬λŸ¬ λ³€ν˜•μ„ μ‹œλ„ν–ˆμ§€λ§Œ 문제λ₯Ό μž¬ν˜„ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

μ΅œμ†Œν•œμ˜ 예제λ₯Ό μ€€λΉ„ν•œ 후에 문제λ₯Ό μ•Œμ•„λƒˆμŠ΅λ‹ˆλ‹€. pip.conf μžˆλŠ” 둜컬 devpi PyPI μΊμ‹œ μ„œλ²„λ₯Ό extra-index-url ν•©λ‹ˆλ‹€. λ‚΄ pip.conf μ—μ„œ 그것을 μ œκ±°ν•˜λ©΄ λͺ¨λ“  것이 μ˜¬λ°”λ₯΄κ²Œ μž‘λ™ν•©λ‹ˆλ‹€... μ£„μ†‘ν•©λ‹ˆλ‹€.

흠, pipκ°€ μ²˜λ¦¬ν•΄μ•Ό ν•  것 κ°™μŠ΅λ‹ˆλ‹€. μΊμ‹œμ™€ pip.conf νŠΉλ³„ν•œ 것이 μžˆμŠ΅λ‹ˆκΉŒ? λ‚˜λŠ” 그런 것듀이 λ‚―μ„€λ‹€. @njsmith 아이디어가 μžˆμŠ΅λ‹ˆκΉŒ?

devpi μ„œλ²„κ°€ 주어진 νŒ¨ν‚€μ§€μ˜ μ‚¬μš© κ°€λŠ₯ν•œ 버전에 λŒ€ν•œ 메타 정보λ₯Ό μ œλŒ€λ‘œ μ „λ‹¬ν•˜μ§€ μ•ŠλŠ”μ§€ κΆκΈˆν•©λ‹ˆλ‹€.

μƒˆλ‘œμš΄ pip 이 Python 2.7용 1.17.0 μ„€μΉ˜λ₯Ό μ‹œλ„ν•  수 μžˆλŠ” ν•œ 가지 이유λ₯Ό μ°Ύμ•˜μŠ΅λ‹ˆλ‹€. 이것은 νŒ¨ν‚€μ§€κ°€ setup_requires='numpy' μ‚¬μš©ν•  λ•Œ λ°œμƒν•©λ‹ˆλ‹€. νŒ¨ν‚€μ§€μ— pyproject.toml κ°€ μ—†μœΌλ©΄ easy_install ν˜ΈμΆœν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€(https://github.com/pypa/pip/issues/6945#issuecomment-526479930 μ°Έμ‘°).

ν•΄κ²° 방법이 μžˆμŠ΅λ‹ˆλ‹€. pip install numpy 전에 pip install package-with-setup-requires pip install numpy λ₯Ό λͺ…μ‹œμ μœΌλ‘œ μˆ˜ν–‰ν•˜μ‹­μ‹œμ˜€.

그리고 μˆ˜μ • 사항은 ν•΄λ‹Ή νŒ¨ν‚€μ§€μ— pyproject.toml μΆ”κ°€ν•΄μ•Ό ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. 그러면 ν•΄λ‹Ή νŒ¨ν‚€μ§€μ˜ μƒˆ λ¦΄λ¦¬μŠ€μ—μ„œ 이 λ¬Έμ œκ°€ μ‚¬λΌμ§‘λ‹ˆλ‹€.

μƒˆλ‘œμš΄ pip 이 Python 2.7용 1.17.0 μ„€μΉ˜λ₯Ό μ‹œλ„ν•  수 μžˆλŠ” ν•œ 가지 이유λ₯Ό μ°Ύμ•˜μŠ΅λ‹ˆλ‹€. 이것은 νŒ¨ν‚€μ§€κ°€ setup_requires='numpy' μ‚¬μš©ν•  λ•Œ λ°œμƒν•©λ‹ˆλ‹€. μ΄λŠ” νŒ¨ν‚€μ§€μ— pyproject.toml κ°€ μ—†μœΌλ©΄ easy_install ν˜ΈμΆœν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€( pypa/pip#6945 (comment) μ°Έμ‘° ).

ν•΄κ²° 방법이 μžˆμŠ΅λ‹ˆλ‹€. pip install numpy 전에 pip install package-with-setup-requires pip install numpy λ₯Ό λͺ…μ‹œμ μœΌλ‘œ μˆ˜ν–‰ν•˜μ‹­μ‹œμ˜€.

pip install pycuda 의 ꡬ체적인 κ²½μš°λŠ” λ‹€μŒκ³Ό 같이 μ‹€νŒ¨ν•©λ‹ˆλ‹€.

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tmp/pip-build-LYaxup/pycuda/setup.py", line 251, in <module>
    main()
  ...
  File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 44, in _execfile
    code = compile(script, filename, 'exec')
  File "/tmp/easy_install-mp9NYd/numpy-1.19.0rc1/setup.py", line 182
    raise ValueError(f'Submodule {p} missing')
                                            ^
SyntaxError: invalid syntax

@rgommersκ°€ μ–ΈκΈ‰ν•œ κ²ƒμ²˜λŸΌ ν•΄κ²° 방법은 κ°„λ‹¨ν•©λ‹ˆλ‹€. λ¨Όμ € pip install numpy==1.16.6 (λ§ˆμ§€λ§‰ Python 2.7 ν˜Έν™˜ NumPy 릴리슀의 경우)λ₯Ό μ‹€ν–‰ν•œ λ‹€μŒ pip install pycuda λ₯Ό λ‹€μ‹œ μ‹œλ„ν•©λ‹ˆλ‹€.

이것은 pip 버그이며 맀우 μ‹¬κ°ν•œ 것 κ°™μŠ΅λ‹ˆλ‹€. pip 20.1.1둜 μž¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€. pip-2.7 install numpy λŠ” 1.16.6 pip-2.7 install numpy μ˜¬λ°”λ₯΄κ²Œ μ„€μΉ˜ν•˜λ―€λ‘œ PyPI의 numpy에 λŒ€ν•œ 메타데이터가 μ •ν™•ν•©λ‹ˆλ‹€. pip-2.7 install pycuda λŠ” 1.16.6 λŒ€μ‹  μ΅œμ‹  numpyλ₯Ό μ„€μΉ˜ν•˜λ €κ³  μ‹œλ„ν•©λ‹ˆλ‹€.

이미 보고된 λ‚΄μš©μΌ κ²ƒμ΄λ―€λ‘œ μ•žμœΌλ‘œ λ©°μΉ  λ™μ•ˆ μ‚΄νŽ΄λ³Ό μ‹œκ°„μ΄ μ—†μŠ΅λ‹ˆλ‹€. @artob 이것에 λŒ€ν•œ Pip λ¬Έμ œκ°€ μžˆλŠ”μ§€ ν™•μΈν•˜κ³  그렇지 μ•Šμ€ 경우 μ—΄λ©΄ λŒ€λ‹¨νžˆ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€.

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