핍이 끊어졌습니다. DistributionNotFound 오류를 수정하는 방법?


146

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로 값을 바꾸고 싶은 유혹을 느낍니다. 그러나 설치를 해킹하는 결과를 다루는 것을 느끼지 못합니다 ... 파이썬 2.7을 실행 중이며 pip는 0.8.2입니다.


여기가 아프면 많이. 간단한 일반적인 해결책은 https://bootstrap.pypa.io/get-pip.py 에서 설치된 pip를 다운로드 한 다음 해당 파일을 실행하는 것입니다 (python 사용). 다른 수정은 일반적으로 지저분한 매우 시스템에 의존하고 있습니다 아래의 제안은 종종 일을하지 않는 (시스템의 두 개의 서로 다른 아이들에 대한 내 경험을 바탕으로)
GregD

답변:


253

필자는 MacBook 에서이 문제를 발견했습니다. 왜냐하면 @Stephan이 말했듯이 easy_install pip를 설치 하는 데 사용 하고 두 py 패키지 관리 도구가 혼합되어 pkg_resources.DistributionNotFound문제가 발생 했기 때문 입니다. 해결 방법은 다음과 같습니다.

easy_install --upgrade pip

기억 : 그냥 사용 하나 귀하의 피라 패키지를 관리하기 위해 위의 도구를.


55
하 이것은 단지 나에게 오류를 준다 :pkg_resources.DistributionNotFound: distribute==0.6.36
Timmmm

2
Mac OS X 10.9에서도 잘 작동합니다. 감사!
Anton Babenko

2
a) sudo easy_install --upgrade pip 및 b) pip를 사용할 때 휠에 대한 오류가 발생할 수 있음을 알 수 있습니다. 그 시점에서 이것을보십시오 : stackoverflow.com/questions/20905350/…
mchicago

@PiotrDobrogost 나는 동의하지 않는다-당신이 링크 한 기사는 virtualenv 사용에 관한 것입니다. 그렇지 않으면 bazillion 패키지가 있으며 응용 프로그램간에 충돌이 발생할 수 있습니다-이 instacnce에서 우리 는 virtualenv를 사용 하고 싶습니다 . 그러나 virtualenv를 설치하려면 모든 사람을 위해 virtualenv를 전체적으로 설치하므로 sudo easyinstall이 필요합니다. virtualenv 설치의 경우 . 따라서 virtualenv가 실제로 작동하므로 수동 설치 (및 유지 관리가 어려운) 설치없이 가상 env를 설치하는 방법이 있습니다.
mchicago

1
.. 'sudo easy_install3 --upgrade pip'를 만들었습니다
pavan

31

/ 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')()
    )

easy_install을 통해 pip를 설치하여 아마도이 두통을 일으켰습니다. 요즘 이렇게해야한다고 생각합니다 ..

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

13
나는 항상 OS 패키지 관리자를 사용하여 순수한 파이썬 패키지를 설치하지 않으려 고 노력합니다. 우분투 / 데비안은 setuptools 패키지를 손상 시켰고 사람들이 pip를 사용하여 패키지를 제거 할 수 없기 때문에 두통을 일으켰습니다 (변경 사항으로 인해).
Hugo Tavares 2016 년

apt 또는 yum을 사용하는 것만으로는 충분하지 않습니다! 이 페이지의 전략은 로컬 개발에는 적합하지만 배포에는 수행하지 마십시오.
ken

여기서도 pip는 Mac에서 1.3.1로 업그레이드 할 때 죽었습니다. pip 자체는 여전히 1.2.1이라고 언급했습니다.
Anthony Liekens

@PiotrDobrogost는 위의 주석을 참조하십시오-virtualenv를 작동시키는 데 필요한 인스턴스입니다.
mchicago

27

homebrew를 사용할 때이 문제가 발생했습니다. 다음은 Issue # 26900 의 솔루션입니다

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

--user 옵션을 사용하거나 사용하지 않고 (후자는 sudo 필요) 시도해 보는 것이 좋습니다.
Ray

11

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

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

이것은 pip Github 페이지에서 제공되었으며 나를 위해 일했습니다.


7

CentOS를 사용하는 경우 YUM 패키지 "python-setuptools"가 설치되어 있는지 확인하십시오.

yum install python-setuptools

나를 위해 고쳤다.


6

문제의 근원은 종종 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이 설치되어 있어야합니다.
이제 이와 같이 virtualenv를 다시 설치하십시오.

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가 변경되지 않았 으므로 ()도 도움이되지 않습니다.

이 문제를 해결할 수있는 유일한 방법은 /home/users/pdobrogost/.local/bin/폴더 에서 virtualenv * 스크립트를 수동으로 제거 하고 virtualenv를 다시 설치하는 것입니다. 그런 다음 새로 생성 된 스크립트는 올바른 버전의 패키지를 참조합니다.

pdobrogost@host:~$ virtualenv --version
1.11

6

나는 이것을 이렇게 해결할 수 있었다 :

$ 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

5

나는 OSx에서 비슷한 문제에 직면했다. 내 스택 트레이스

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

그런 다음 다음을 수행했습니다

sudo pip install --upgrade setuptools

이것은 나를 위해 문제를 해결했습니다. 누군가가 이것을 유용하게 사용하기를 바랍니다.


1
이것은 Windows 10에서 내 문제를 해결했습니다.
Mark Allen

1
이것은 CentOS 6에서 우리에게 문제를 해결했습니다.
Dan Phillimore

2

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

분명히 근본 원인은 파이썬 (내 경우에는 Homebrew)을 설치하는 보조 방법이 있다는 것입니다. 바라건대, pip 스크립트를 담당하는 사람들은 스택 오버플로에 처음보고 된 후 2 년이 지난 지금도이 문제를 해결할 수 있기를 바랍니다.


1

필자가 ~/.pydistutils.cfg기억하지 못하는 이상한 파이썬 / 핍을 설치했기 때문에이 문제가 발생 했습니다. 삭제하고 다시 설치 (와 함께 pybrew)하면 모든 것이 정상입니다.


1

필자의 경우 (sam 문제이지만 다른 패키지) 버전 종속성이 없습니다. pip 제거 및 pip insstall 시퀀스가 ​​도움이되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.