ImportError : OS X에서 Python을 업그레이드 한 후 pkg_resources라는 모듈이없는 이유는 무엇입니까?


82

방금 Mac에서 Python을 2.6.4로 업데이트했습니다. dmg 패키지에서 설치했습니다.

바이너리가 Python 경로를 올바르게 설정하지 않은 것 같아서 다음을 추가 '/usr/local/lib/python2.6/site-packages'했습니다..bash_profile

>>> pprint.pprint(sys.path)  
['',
'/Users/Bryan/work/django-trunk', 
'/usr/local/lib/python2.6/site-packages',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.zip',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages']

분명히 iPython을 실행할 수 없기 때문에 필요한 모든 경로가 아닙니다.

$ ipython  
Traceback (most recent call last):  
  File "/usr/local/bin/ipython", line 5, in <module>  
  from pkg_resources import load_entry_point  
ImportError: No module named `pkg_resources`

Google 검색을 수행했지만 설치 방법을 알 수 pkg_resources없거나 경로에 있는지 확인할 수 없습니다 .

이 문제를 해결하려면 어떻게해야합니까?

답변:


73

[업데이트] TL; DR pkg_resourcesDistribute 또는 setuptools에서 제공 합니다.

[업데이트 2] PyCon 2013에서 발표 한대로 Distributesetuptools프로젝트가 다시 병합되었습니다. Distribute이제 더 이상 사용되지 않으며 new current setuptools. 이 시도:

curl -O https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
python ez_setup.py

또는 더 나은, pip높은 수준의 인터페이스로 전류 를 사용 setuptools하고 커버 아래에서 사용할 것 입니다.

[OP의 특정 문제에 대한 긴 답변] :

귀하의 질문에 말하지 않지만 Apple에서 제공하는 Python (10.5에서 2.5 또는 10.6에서 2.6.1)에서 업그레이드했거나 python.org Python 2.5에서 업그레이드했다고 가정합니다. 이러한 경우에 중요한 점은 각 Python 인스턴스에 추가 패키지가 설치된 자체 사이트 패키지 라이브러리를 포함하여 자체 라이브러리가 있다는 것입니다. (그리고 그들 중 어느 것도 /usr/local/lib기본적으로 사용하지 않습니다 .) 즉, 새로운 파이썬 2.6에 필요한 추가 패키지를 설치해야합니다. 이를 수행하는 가장 쉬운 방법은 먼저 새 python2.6이 검색에 먼저 나타나는지 확인하는 $PATH것입니다 (즉, 입력 python2.6하면 예상대로 호출됩니다). python2.6 설치 프로그램은 .bash_profile프레임 워크 bin 디렉토리를 $PATH. 그런 다음 설치 easy_install사용거기의 지침에 따라 setuptools . pkg_resources모듈은 자동 공정에 의해 설치된다.

그런 다음 새로 설치된 버전 easy_install(또는 pip)을 사용하여 ipython.

easy_install ipython

또는

pip install ipython

site-packages해당 Python 인스턴스에 대한 올바른 위치에 자동으로 설치 되어야하며 이동하는 것이 좋습니다.


어제 밤에 setuptools를 설치하려고 할 때 엉망이되었습니다. .egg 파일을 마치 쉘 파일 인 것처럼 실행하여 설치를 완료하지 않았습니다. $ sh setuptools-0.6c11-py2.6.egg 어딘가에 새로운 Python 경로를 추가 한 것 같습니다.
BryanWheelock

참고 :이 문제를 해결 한 실제 답변은 다음과 같습니다. stackoverflow.com/a/10538341/293064
Jay Taylor

솔루션이 Distribute또는 .NET을 설치하는 것임을 더 명확하게하기 위해이 이전 답변을 약간 업데이트했습니다 setuptools. 특정 단계는 링크에 있습니다. OP의 질문은 다른 항목을 다루었습니다.
Ned Deily 2013

또 편집의 중단 반영하기 위해 distribute새로운 찬성 setuptools과에 언급 pip.
네드 Deily

1
점점 python ez_setup.py File "ez_setup.py", line 1 <!DOCTYPE html> ^ SyntaxError: invalid syntax:(
hi15

76

나는 같은 ImportError. 어떻게 든 setuptools내 Python 환경에서 패키지가 삭제되었습니다.

문제를 해결하려면 다음에 대한 설정 스크립트를 실행하십시오 setuptools.

curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python

의 버전이 distribute있거나 setuptools0.6 이하인 경우 먼저 제거해야합니다. *

자세한 내용은 설치 지침 을 참조 하십시오.


* 이미 작동중인을 갖고있는 경우 distribute전환하는 "호환성 래퍼"로 업그레이드하는 setuptools것이 더 쉽습니다. 하지만 이미 고장난 경우에는 시도하지 마십시오.


3
이것이 올바른 방법입니다. pkg_resources없이 easy_install가능성도 (그래서 작동하지 않습니다 easy_installpipsetuptools에 설치 할 수 없습니다).
Alex Churchill

실제로 Distribute 또는 setuptools를 설치하는 것은 허용되는 대답이 권장하는 것입니다. 더 분명하게 만들기 위해 원래 답변을 약간 업데이트했습니다. BTW, 파일의 내용을 먼저 검사하지 않고 이와 같이 안전하지 않은 URL에서 무언가를 다운로드하여 설치하는 것은 다소 위험합니다.
Ned Deily 2013

7

Mac OS 10.7에서 Python을 업그레이드하고 pkg_resources가 작동하지 않는 경우이를 해결하는 가장 간단한 방법은 위에서 언급 한 Ned와 같이 setuptools를 다시 설치하는 것입니다.

sudo pip install setuptools --upgrade
or sudo easy_install install setuptools --upgrade

3

내 시스템 (OSX 10.6)에서 해당 패키지가

/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py

그것이 당신의 길에 빠졌는지 아닌지 알아내는 데 도움이되기를 바랍니다.


1

그 이유는 IPython 모듈이 PYTHONPATH에 없기 때문일 수 있습니다.

IPython을 다운로드 한 다음 python setup.py install을 수행하면

설정은 Python 경로에 모듈 IPython을 추가하지 않습니다. 수동으로 PYTHONPATH에 추가 할 수 있습니다. 다음을 수행하면 작동합니다.

export PYTHONPATH = / pathtoIPython : $ PYTHONPATH

이 줄을 .bashrc 또는 .profile에 추가하여 영구적으로 만드십시오.


0

이것이 OSX와 관련이 없다는 것을 알고 있지만 임베디드 시스템 (Beagle Bone Angstrom)에서는 똑같은 오류 메시지가 나타납니다. 다음 ipk 패키지를 설치하면 문제가 해결되었습니다.

opkg install python-setuptools
opkg install python-pip

0

Ubuntu 에서이 오류가 발생 했으며 다음이 저에게 효과적이었습니다.

보관 용 바이너리를 제거하고 다음을 실행하여 다시 다운로드합니다.

sudo rm -rf /var/lib/dropbox/.dropbox-dist
dropbox start -i

0

아우토반 관련 프로젝트에서 작업 할 때 동일한 문제가 발생했습니다.

1) 그래서 https://pypi.python.org/packages/source/s/setuptools/ 형식의 setuptools.-0.9.8.tar.gz를 다운로드 하고 압축을 풉니 다.

2) 그런 다음 pkg_resources 모듈을 가져와 필요한 폴더에 복사합니다. ** 제 경우 폴더는 C : \ Python27 \ Lib \ site-packages \ autobahn


0

제 경우에는 패키지 python-pygments가 누락되었습니다. 다음 명령으로 수정할 수 있습니다.

sudo apt-get install python-pygments

에 문제가있는 경우 pandoc. 당신은 설치해야 pandoc하고 pandoc-citeproc.

sudo apt-get install pandoc pandoc-citeproc

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