development

pkg_resources라는 모듈이 없습니다.

big-blog 2020. 2. 20. 23:30
반응형

pkg_resources라는 모듈이 없습니다.


Django 앱을 개발자 서버에 배포하고 실행할 때이 오류가 발생합니다 pip install -r requirements.txt.

Traceback (most recent call last):
  File "/var/www/mydir/virtualenvs/dev/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

pkg_resources로 배포 된 것으로 보입니다 setuptools. 처음에는 이것이 virtualenv의 Python에 설치되지 않을 것이라고 생각했기 때문에 setuptools 2.6다음 명령을 사용하여 virtualenv의 Python 사이트 패키지에 (Python과 동일한 버전)을 설치했습니다 .

sh setuptools-0.6c11-py2.6.egg --install-dir /var/www/mydir/virtualenvs/dev/lib/python2.6/site-packages

편집 : 이것은 virtualenv 내부에서만 발생합니다. virtualenv 외부에서 콘솔을 열면 pkg_resources존재하지만 여전히 동일한 오류가 발생합니다.

pkg_resources길에 있지 않은지에 대한 아이디어 가 있습니까?


2018 년 7 월 업데이트

대부분의 사람들은 이제 pip install setuptools(와 함께 sudo)를 사용해야 합니다.

일부는 (재) 설치해야 할 수 있습니다 python-setuptools자신의 패키지 관리자를 통해 (패키지 apt-get install, yum install등).

이 문제는 OS 및 개발 환경에 따라 크게 달라질 수 있습니다. 위의 방법으로 문제가 해결되지 않으면 아래의 레거시 / 기타 답변을 참조하십시오.

설명

이 오류 메시지는 누락되거나 손상된 Python setuptools패키지로 인해 발생 합니다. Matt M.의 설명 및 setuptools 문제 # 581 에 따라 아래에 언급 된 부트 스트랩 스크립트는 더 이상 권장되는 설치 방법이 아닙니다.

부트 스트랩 스크립트 지침은 여전히 ​​도움이 될 수 있도록 아래에 남아 있습니다.

레거시 답변

ImportErrorpip를 사용하는 동안 오늘도 같은 문제가 발생했습니다 . 어떻게 든 setuptools패키지가 Python 환경에서 삭제되었습니다.

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

wget https://bootstrap.pypa.io/ez_setup.py -O - | python

(또는 wget설치 하지 않은 경우 (예 : OS X)

curl https://bootstrap.pypa.io/ez_setup.py | python

접두사와 함께 가능합니다 sudo.)

버전이 0.6 distribute이상인 setuptools경우 먼저 제거해야합니다. *

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


* 이미 작동중인 경우 distribute전환하는 "호환성 래퍼"로 업그레이드하는 setuptools것이 더 쉽습니다. 그러나 이미 문제가 발생하면 시도하지 마십시오.


sudo apt-get install --reinstall python-pkg-resources

데비안에서 수정했습니다. 일부 .deb 패키지 (내 경우에는 꼬인 세트)를 제거하면 파이썬이 패키지를 찾는 데 사용하는 경로가 깨졌습니다.


우분투 13.10에서 virtualenv에 rhodecode를 설치하는 동안이 오류가 발생했습니다. 나를 위해 솔루션을 실행하는 것이 었습니다

pip install --upgrade setuptools
pip install --upgrade distribute 

easy_install rhodecode를 실행하기 전에


나에게도 일어났다. virtualenv가 setuptools를 사용하는 경우 requirements.txt에 "distribute"항목이 포함되어 있으면 문제가 발생한다고 생각합니다. Pip은 배포 할 공간을 만들기 위해 setuptools를 패치하려고 시도하지만 불행히도 반쯤 실패합니다.

쉬운 해결책은 현재 virtualenv를 삭제 한 다음 --distribute 인수를 사용하여 새로운 virtualenv를 작성하는 것입니다.

virtualenvwrapper를 사용하는 경우의 예 :

$ deactivate
$ rmvirtualenv yourenv
$ mkvirtualenv yourenv --distribute
$ workon yourenv
$ pip install -r requirements.txt

CentOS 6에서는 python-setuptools 패키지를 설치하여 수정했습니다.

yum install python-setuptools

나는이 오류가 더 일찍 있었고 가장 높은 등급의 대답은 ez_setup.py파일 을 다운로드하는 동안 오류가 발생했습니다 . 명령을 실행할 수 있도록 다른 소스를 찾았습니다.

curl http://peak.telecommunity.com/dist/ez_setup.py | python

나는 또한 sudo그것이 작동 하도록 사용해야한다는 것을 알았 으므로 다음을 실행해야 할 수도 있습니다.

sudo curl http://peak.telecommunity.com/dist/ez_setup.py | sudo python

또한 스크립트를 다운로드 할 수있는 다른 위치를 만들었습니다.

https://gist.github.com/ajtrichards/42e73562a89edb1039f3


이 답변 중 몇 가지를 시도한 후 동료에게 연락 한 후 우분투 16.04에서 나를 위해 일한 것은 다음과 같습니다.

pip install --force-reinstall -U setuptools
pip install --force-reinstall -U pip

필자의 경우 문제가있는 베개 3.1.1의 구 버전 일뿐입니다 (베개 4.x가 정상적으로 작동했습니다). 이제 해결되었습니다!


조금 더 sudo가 필요했습니다. 그런 다음 easy_install을 사용하여 pip를 설치하십시오. 공장.

sudo wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python
sudo easy_install pip

다음을 수행하여 virtualenv의 오류를 수정했습니다.

복사 된 pkg_resources.py

/Library/Python/2.7/site-packages/setuptools

/Library/Python/2.7/site-packages/

이것은 저렴한 해결 방법 일 수 있지만 그것은 나를 위해 일했습니다.

.

설치 도구가 없으면을 입력 virtualenv --system-site-packages /DESTINATION DIRECTORY하여 마지막 부분을 설치하려는 디렉토리로 변경 하여 시스템 사이트 패키지 설치를 시도 할 수 있습니다 . pkg_rousources.pylib / python2.7 / site-packages의 해당 디렉토리에 있습니다.


나를 위해, "site"라는 하위 디렉토리가 있기 때문에이 오류가 발생했습니다! 이것이 핍 버그인지 아닌지는 모르겠지만 시작했습니다.

/some/dir/requirements.txt / some / dir / site /

pip install -r requirements.txt가 작동하지 않아 위의 오류가 발생했습니다!

"사이트"에서 "src"로 하위 폴더의 이름을 바꾸면 문제가 해결되었습니다! pip가 "site-packages"를 찾고 있습니까? 미친.


virtualenv를 만든 사용자가 아닌 다른 사용자로 내 virtualenv를 활성화했을 때이 문제가 발생했습니다. 권한 문제인 것 같습니다. @cwc의 답변을 시도하고 출력에서 ​​이것을 보았을 때 이것을 발견했습니다.

Installing easy_install script to /path/env/bin
error: /path/env/bin/easy_install: Permission denied

virtualenv를 만든 사용자로 다시 전환 한 다음 원래 pip install명령 을 실행 해도 문제가 발생하지 않았습니다. 도움이 되었기를 바랍니다!


오늘도이 문제가있었습니다. 가상 환경 내에서만 문제가 발생했습니다.

나를위한 해결책은 가상 환경을 비활성화하고 pip로 virtualenv를 삭제 한 다음 제거하고 다시 설치하는 것입니다. 그 후 프로젝트를 위해 새로운 가상 환경을 만들었고, pip는 일반 환경과 마찬가지로 가상 환경 내부에서 잘 작동했습니다.


비트 버킷에서 멀리 떨어져서 현재 github에 있습니다 ( https://github.com/pypa/setuptools )

실행할 명령은 다음과 같습니다.

wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python

나를 위해, 그것은에 대한 사용 권한 문제로 밝혀졌습니다 site-packages. 그것은 단지 내 개발 환경이기 때문에 권한을 높이고 모든 것이 다시 작동합니다.

sudo chmod -R a+rwx /path/to/my/venv/lib/python2.7/site-packages/

conda 를 통해 설치된 응용 프로그램에서이 문제가 발생하면 이 버그 보고서에 명시된대로 솔루션은 다음과 같이 setup-tools를 설치하는 것입니다.

conda install setuptools

분명히 당신은 setuptools를 놓치고 있습니다. 일부 virtualenv 버전은 기본적으로 setuptools 대신 배포를 사용합니다. --setuptoolsvirtualenv를 작성할 때 옵션을 사용 하거나 VIRTUALENV_SETUPTOOLS=1환경에서 설정하십시오 .


필자의 경우 처음에는 2 개의 파이썬 버전이 설치되었고 나중에 이전 버전을 삭제했습니다. 가상 환경을 만드는 동안

virtualenv venv

제거 된 파이썬을 언급하고있었습니다.

나를 위해 일한 것

python3 -m virtualenv venv

pip를 사용하려고 할 때도 마찬가지입니다.


Windows에서 python 3.7을 사용하면 다음과 같이 작동했습니다.

pip install --upgrade setuptools --user

--user 관리자 권한이 필요없는 홈 디렉토리에 패키지를 설치합니다.


OSX에 대한이 안내서 를 따르려고 할 때이 답변 을 보았습니다 . 나를 위해 일한 것은 달리고 python get-pip후에도 함께 해야했습니다 easy_install pip. 그것은 pip를 전혀 실행할 수 없다는 문제를 해결했습니다. 나는 설치 된 macport 물건의 무리가 있습니다. 충돌했을 수 있습니다.


Windows에서는 www.lfd.uci.edu/~gohlke/pythonlibs/ 에서 다운로드 한 pip를 설치 한 후이 문제를 해결했습니다.

먼저 setuptools (easy_install)를 설치해야합니다.


setuptools의해 다시 설치하십시오 .

$ sudo wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=7df2a529a074f613b509fb44feefefe74e
$ tar -zxvf setuptools-0.6c11.tar.gz
$ cd setuptools-0.6c11/
$ sudo python setup.py build
$ sudo python setup.py install
$ sudo pip install --upgrade setuptools

그러면 모든 것이 잘 될 것입니다.


CentOS 6.7을 사용하고 있으며 파이썬은 2.6.6에서 2.7.11로 업그레이드되었습니다. 많은 다른 답변을 시도한 후에 마침내 다음 작업이 수행됩니다.

sudo yum install python-devel

같은 상황에있는 사람을 도와주세요.


게시 된 답변 중 어느 것도 나를 위해 일하지 않았으므로 pip를 다시 설치하면 효과가 있습니다!

sudo apt-get install python-setuptools python-dev build-essential 

sudo easy_install pip 

pip install --upgrade setuptools

(참조 : http://www.saltycrane.com/blog/2010/02/how-install-pip-ubuntu/ )


우분투 빌드를 업데이트 한 후이 문제가 발생했습니다. 모든 가상 환경에서 설정 도구를 살펴보고 제거 한 것 같습니다.

이를 해결하기 위해 가상 환경을 대상 디렉토리에 다시 설치했습니다. 이로 인해 누락 된 설정 도구가 정리되었고 작업이 다시 실행되었습니다.

예 :

~/RepoDir/TestProject$ virtualenv TestEnvironmentDir

나에게 좋은 해결책은 --no-download옵션을 virtualenv ( VIRTUALENV_NO_DOWNLOAD=1 toxtox 용) 를 사용하는 것이 었습니다 .


Opensuse 42.1에서 다음 문제가 해결되었습니다.

zypper in python-Pygments

ImportError : pkg_resources라는 모듈이 없습니다. 해결책은 다음 명령을 사용하여 python pip를 다시 설치하는 것입니다.

1 단계 : 1 루트 사용자로 로그인하십시오.

sudo su root

2 단계 : python-pip 패키지가있는 경우 제거합니다.

apt-get purge -y python-pip

3 단계 : 3 wget 명령을 사용하여 파일 다운로드 (에서 파일 다운로드 pwd)

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

4 단계 : 4 파이썬 파일을 실행합니다.

python ./get-pip.py

단계 : 5 Finali exicute 설치 명령.

apt-get install python-pip

참고 : 사용자는 root 여야합니다.


Google App Engine 환경에서 오류가 발생했습니다. 그리고 pip install -t lib setuptools문제를 해결했습니다.


Python 3을 사용하는 경우 pip 대신 pip3을 사용해야합니다. 명령은 다음과 같습니다$ pip3 install requirements.txt


python 2.7.14 용 pip를 설치하기 위해 쉬운 설치를 사용할 때도 같은 문제가있었습니다. 나에게 해결책은 (최선이 아닐 수도 있지만 나를 위해 일했으며, 아마도 가장 간단 할 것입니다) easy-install.py포함 된 폴더에도 폴더가 포함되어 pkg_resources있었고이 폴더를 내 pip-script.py스크립트가 있는 동일한 폴더에 복사하여 붙여 넣었습니다. 이었다 python27\Scripts. 그 이후로 python27\Lib\site-packages\pip-9.0.1-py2.7.egg\pip\_vendor폴더에서도 찾았으므로 pip-script.py파일을 가져 오기 위해 파일을 수정하는 것이 더 좋습니다 .

참고 URL : https://stackoverflow.com/questions/7446187/no-module-named-pkg-resources



반응형