source

파이프가 부러졌습니다.DistributionNotFound 오류를 해결하는 방법은 무엇입니까?

manysource 2023. 7. 19. 21:25

파이프가 부러졌습니다.DistributionNotFound 오류를 해결하는 방법은 무엇입니까?

제가 pip를 사용하려고 할 때마다 오류가 발생합니다.예:

$ sudo pip install gevent-websocket

Traceback (most recent call last):  
File "/usr/local/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2675, in <module>
parse_requirements(__requires__), Environment()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 552, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pip==0.8.1

의 값을 pip==0.8.2로 변경하고 싶지만 설치를 '업그레이드'한 결과를 감당할 수 없습니다...저는 python 2.7을 실행하고 있으며 pip는 0.8.2 버전입니다.

저는 제 맥북에서 이 문제를 발견했습니다. 그 이유는 @Stephan이 말했듯이, 저는easy_installPip를 설치하고, 두 Py 패키지 관리 도구의 혼합은 다음과 같이 되었습니다.pkg_resources.DistributionNotFound문제.해결 방법은 다음과 같습니다.

easy_install --upgrade pip

위의 도구 중 하나를 사용하여 Py 패키지를 관리하십시오.

/usr/local/bin/pip의 0.8.2에서 0.8.1을 교체했고 모든 것이 다시 작동했습니다.

__requires__ = 'pip==0.8.2'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('pip==0.8.2', 'console_scripts', 'pip')()
    )

나는 pip을 easy_install을 통해 설치했는데 아마도 이 두통을 일으켰을 것입니다.요즘은 이렇게 해야 할 것 같아요.

$ sudo apt-get install python-pip python-dev build-essential 
$ sudo pip install --upgrade pip 
$ sudo pip install --upgrade virtualenv

제가 홈브루를 사용할 때 이런 문제가 있었습니다.다음은 이슈 #26900의 솔루션입니다.

python -m pip install --upgrade --force pip

get-pip 스크립트를 사용하여 다시 설치해 보십시오.

wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py

이것은 pip Github 페이지에서 나온 것이고, 저를 위해 작동했습니다.

센트에 있는 경우OS에서 YUM 패키지 "python-setuptools"를 설치했는지 확인합니다.

yum install python-setuptools

고쳐줬어요.

문제의 근본 원인은 의 오래된 스크립트인 경우가 많습니다.bin(Linux) 또는Scripts(Windows) 하위 디렉터리입니다.제가 직면한 문제를 예로 들어 설명하겠습니다.

virtualenv 버전 1.10을 사용자 사이트 패키지에 설치했습니다(시스템 사이트가 아닌 사용자 사이트 패키지에 포함되어 있다는 사실은 여기서 중요하지 않습니다).

pdobrogost@host:~$ which virtualenv
/home/users/pdobrogost/.local/bin/virtualenv
pdobrogost@host:~$ virtualenv --version
1.10

버전 1.11로 업그레이드한 후 다음 오류가 발생했습니다.

pdobrogost@host:~$ virtualenv --version  
Traceback (most recent call last):   
  File "/home/users/pdobrogost/.local/bin/virtualenv", line 5, in <module>
    from pkg_resources import load_entry_point   
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2701, in <module>
    return self.__dep_map   
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 572, in resolve
    if insert: 
pkg_resources.DistributionNotFound: virtualenv==1.10

파일/home/users/pdobrogost/.local/bin/virtualenv오류 메시지에 언급된 내용은 다음과 같습니다.

#!/opt/python/2.7.5/bin/python2.7
# EASY-INSTALL-ENTRY-SCRIPT: 'virtualenv==1.10','console_scripts','virtualenv'
__requires__ = 'virtualenv==1.10'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('virtualenv==1.10', 'console_scripts', 'virtualenv')()
    ) 

자, 우리는 그것을 봅니다.virtualenv스크립트가 업데이트되지 않았으며 여전히 이전에 설치된 virtualenv 버전 1.10이 필요합니다.
다음과 같이 가상 환경을 다시 설치하는 중입니다.

pdobrogost@host:~$ pip install --user --upgrade virtualenv
Downloading/unpacking virtualenv from https://pypi.python.org/packages/py27/v/virtualenv/virtualenv-1.11.1-py27-none-any.whl#md5=265770b61de41d34d2e9fdfddcdf034c
  Using download cache from /home/users/pdobrogost/.pip_download_cache/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fpy27%2Fv%2Fvirtualenv%2Fvirtualenv-1.11.1-py27-none-any.whl
Installing collected packages: virtualenv
Successfully installed virtualenv
Cleaning up...

도움이 되지 않음(계속)pip install --user --upgrade --force-reinstall virtualenv) 스크립트 때문에/home/users/pdobrogost/.local/bin/virtualenv변경되지 않은 상태로 유지됩니다.

이 문제를 해결할 수 있는 유일한 방법은 수동으로 virtualenv* 스크립트를 제거하는 것이었습니다./home/users/pdobrogost/.local/bin/virtualenv를 다시 설치하는 중입니다.이후 새로 생성된 스크립트는 적절한 버전의 패키지를 참조합니다.

pdobrogost@host:~$ virtualenv --version
1.11

저는 이렇게 해결할 수 있었습니다.

$ brew update
$ brew doctor
$ brew uninstall python
$ brew install python --build-from-source    # took ~5 mins
$ python --version                           # => Python 2.7.9
$ pip install --upgrade pip

다음과 같은 기능을 사용하여 실행하고 있습니다(2015년 1월 2일 기준).

OS X Yosemite
Version 10.10.1

$ brew -v
Homebrew 0.9.5

$ python --version
Python 2.7.9

$ ipython --version
2.2.0

$ pip --version
pip 6.0.3 from /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-6.0.3-py2.7.egg (python 2.7)

$ which pip
/usr/local/bin/pip

저는 OSx에서도 비슷한 문제에 직면했습니다.내 스택 추적은 다음과 같이

raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: setuptools>=11.3

그리고 나서 저는 다음을 했습니다.

sudo pip install --upgrade setuptools

이것으로 저는 문제를 해결했습니다.누군가 이것이 유용하다는 것을 알게 되기를 바랍니다.

Mac OS X(MBP)에서는 다음과 같은 문제가 해결되었습니다.

C02L257NDV33:~ jjohnson$ brew install pip
Error: No available formula for pip
Homebrew provides pip via: `brew install python`. However you will then
have two Pythons installed on your Mac, so alternatively you can:
    sudo easy_install pip
C02L257NDV33:~ jjohnson$ sudo easy_install pip

여기서 근본 원인은 분명히 파이썬(나의 경우 홈브루)을 설치하는 보조 방법이 있기 때문입니다.Pip 스크립트를 담당하는 사람들이 스택 오버플로에 처음 보고된 지 2년이 지난 후에도 여전히 관련이 있기 때문에 이 문제를 해결할 수 있기를 바랍니다.

한 파이썬.~/.pydistutils.cfg내가 쓴 기억이 없다는 것.삭제, 다시 설치(사용)pybrew), 그리고 모든 것이 괜찮았습니다.

나의 경우(샘 문제, 그러나 다른 패키지)에는 버전 의존성이 없었습니다.일련의 파이프 제거 및 파이프 설치가 도움이 되었습니다.

언급URL : https://stackoverflow.com/questions/6200056/pip-broke-how-to-fix-distributionnotfound-error