Нет модуля с именем pkg resources



Я развертываю приложение Django на сервере dev и нажимаю эту ошибку при запуске требований к установке pip.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. Первоначально я думал, что это не может быть установлено на python в virtualenv, поэтому я установил setuptools (2.6, та же версия, что и Python) на Python site-packages в virtualenv со следующей командой



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


изменить
Это происходит только внутри virtualenv. если я откройте консоль за пределами виртуального окружения, то pkg_resources присутствует



но я все еще получаю ту же ошибку. Любые идеи о том, почему pkg_resources не находится на пути?

1220   30  

30 ответов:

Обновление Июля 2018

большинство людей теперь должны использовать pip install setuptools (возможно, с sudo).

некоторым может потребоваться (пере)установить python-setuptools пакет через менеджер пакетов (apt-get install,yum install и т. д.).

эта проблема может сильно зависеть от вашей ОС и среды разработки. Увидеть наследие/другие ответы ниже, если выше не работает для вас.

объяснение

данное сообщение об ошибке вызвана отсутствует/сломан питона setuptools пакета. За комментарий Мэтта М. и проблема setuptools #581, сценарий начальной загрузки, упомянутый ниже, больше не является рекомендуемым методом установки.

инструкции сценария начальной загрузки останутся ниже, если это все еще полезно для кого-либо.

Legacy Answer

я столкнулся с такой же ImportError сегодня при попытке использовать pip. Каким-то образом 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 добавляется.)

если у вас есть какая-либо версия distribute, или любое setuptools ниже 0.6, вы должны удалить его в первую очередь.*

посмотреть Инструкция По Установке для дальнейшего подробности.


* если у вас уже есть работающий distribute, обновив его до "оболочки совместимости", которая переключает вас на setuptools легче. Но если что-то уже сломано, не пытайтесь это сделать.

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

исправлено это для меня в Debian. Похоже на удаление некоторых .deb packages (twisted set в моем случае) сломал путь, который python использует для поиска пакетов

Я видел эту ошибку при попытке установить rhodecode в virtualenv на ubuntu 13.10. Для меня решение было запустить

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

перед запуском easy_install rhodecode.

Это случилось со мной. Я думаю, что проблема произойдет, если требования.txt содержит запись "distribute", в то время как virtualenv использует setuptools. Pip попытается исправить setuptools, чтобы освободить место для распространения, но, к сожалению, это не удастся на полпути.

простое решение-удалить текущий virtualenv, а затем создать новый virtualenv с аргументом --distribute.

пример использования virtualenvwrapper:

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

в CentOS 6 Установка пакета python-setuptools исправлена.

yum install python-setuptools

у меня была эта ошибка раньше, и самый высокий рейтинг ответа дал мне ошибку, пытаясь загрузить . Я нашел другой источник, так что вы можете выполнить команду:

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

нужно было немного больше судо. Затем используется easy_install для установки pip. Завод.

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

попробовав несколько из этих ответов, а затем обратившись к коллеге, что сработало для меня на Ubuntu 16.04 было:

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

в моем случае, это была только старая версия 3.1.1 подушки, что были проблемы (подушка 4.x работал нормально), и теперь это решено!

я исправил ошибку с virtualenv, сделав это:

скопировано pkg_resources.py от

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

до

/Library/Python/2.7/site-packages/

это может быть дешевым обходным путем, но это сработало для меня.

.

если средства установки не существуют, вы можете попробовать установить system-site-packages, введя virtualenv --system-site-packages /DESTINATION DIRECTORY, изменение последней части, чтобы быть каталог, который вы хотите установить. pkg_rousources.py будет находиться в этом каталоге в lib / python2. 7/site-packages

для меня эта ошибка была вызвана тем, что у меня был подкаталог под названием "сайт"! Я не знаю, если это ошибка pip или нет, но я начал с:

/ some/dir / requirements.формат txt /участка/реж//

pip install-r требования.txt не будет работать, давая мне вышеуказанную ошибку!

переименование подпапки из "site" в " src " устранило проблему! Может быть, Пип ищет "сайт-пакеты"? Сумасшедший.

у меня была эта проблема, когда я активировал свой virtualenv как другой пользователь, чем тот, кто его создал. Кажется, это проблема с разрешением. Я обнаружил это, когда попробовал ответить на @cwc и увидел это в выводе:

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

переключение обратно к пользователю, который создал virtualenv, а затем запуск исходного pip install команда прошла без проблем. Надеюсь, это поможет!

У меня была эта проблема и сегодня. У меня только проблема внутри виртуального окружения.

решение для меня было деактивация виртуального env, удаление, а затем удаление virtualenv с pip и переустановка его. После этого я создал новый виртуальный env для своего проекта, а затем pip отлично работал как внутри виртуальной среды, так и в обычной среде.

похоже, что они отошли от bitbucket и теперь находятся на 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/

видимо, вам не хватает setuptools. Некоторые версии используют виртуальное окружение распространять вместо setuptools по умолчанию. Используйте --setuptools опция при создании virtualenv или установить VIRTUALENV_SETUPTOOLS=1 в вашей среде.

я наткнулся на этот ответ, когда я пытался следовать это руководство для OSX. То, что сработало для меня, было, после запуска python get-pip, Я тоже должен был easy_install pip. Это исправило проблему невозможности запуска pip вообще. Я сделал есть куча старых macport вещи установлены. Возможно, это противоречило друг другу.

в windows я установил pip, загруженный из www.lfd.uci.edu/~gohlke/pythonlibs/ затем эта проблема была решена.

поэтому я должен был сначала установить setuptools(easy_install).

просто переустановить setuptools by:

$ 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, и мой python был просто обновлен с 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/)

я столкнулся с этой проблемой после обновления с Ubuntu строить. Кажется, он прошел и удалил настроенные инструменты во всех моих виртуальных средах.

чтобы исправить это, я переустановил виртуальную среду обратно в целевой каталог. Это очистило отсутствующие Инструменты Настройки и снова запустило работу.

например:

~/RepoDir/TestProject$ virtualenv TestEnvironmentDir

для меня хорошим решением было использовать --no-download опция для virtualenv (VIRTUALENV_NO_DOWNLOAD=1 tox для tox.)

на Opensuse 42.1 исправлена следующая проблема:

zypper in python-Pygments

ImportError: нет модуля с именем pkg_resources: решение состоит в том, чтобы переустановить python pip, используя следующую команду.

Шаг 1 войти в пользователя root.

sudo su root

Шаг 2 удалите пакет python-pip, если он существует.

apt-get purge -y python-pip

Шаг 3 загрузка файлов с помощью команды wget(загрузка файла в pwd)

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

Шаг 4 запустить python файл.

python ./get-pip.py

Шаг: 5 Finaly exicute команда установки.

apt-get install python-pip

Примечание: пользователь должен быть root.

Я испытал эту ошибку в моей среде Google App Engine. И pip install -t lib setuptools Исправлена проблема.

следующее решение, предложенное Tukadiya Ramesh, работало для меня, однако я хочу отметить, что вы должны использовать правильные двоичные файлы/инструменты, соответствующие вашей среде, например, для меня установлен python3.6 (python 3):

ImportError: нет модуля с именем pkg_resources: решение заключается в переустановке python pip с помощью следующей команды.

Шаг: 1 Войдите в корневой пользователь.

sudo su root

Шаг: 2 Удаление пакет python-pip, если он существует.

apt-get purge-y python-pip (используйте python3-pip, если ошибка указывает../ python3/..)

Шаг: 3 загрузите файлы с помощью команды wget (загрузка файла в pwd)

wget https://bootstrap.pypa.io/get-pip.py (доступна версия 3.2, используйте ее в соответствии с вашим env)

Шаг: 4 запустите файл python.

python ./get-pip.py (если ошибка связана с python 3, то вы хотите использовать python3 или python3. 6 и т.д. [в соответствии с вашим ОКР.])

Шаг: 5 наконец выполнить команду установки.

apt-get install python-pip (опять же, используйте python3-pip, как в шаге 2)

Примечание: пользователь должен быть root.

P. S. Это решена проблема с моим обновление-менеджер в Ubuntu 16. Он продолжал сбой с ошибками, связанными с импортом Python. Если у вас есть та же проблема попробуйте запустить sudo aptd, если он выдает ошибку (извините, у меня нет точного), связанную с Python, то вы столкнулись с той же проблемой, что и я.

Если вы используете Python 3, Вы должны использовать pip3 вместо pip. Команда выглядит как $ pip3 install requirements.txt

у меня была такая же проблема, когда я использовал easy-install для установки pip для python 2.7.14. Для меня решение было (может быть, не самое лучшее, но работало для меня, и это, вероятно, самое простое), что папка, содержащая 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 файл для импорта этот.

yum -y install python-setuptools

я настраиваю Ceph есть проблема выполнить команду "$ ceph-deploy new node1", и я выполняю команду "$ yum -y install python-setuptools", тогда проблема исчезла.Спасибо

Если вы столкнулись с данной проблемой с помощью приложения, установленного через conda, решение (как говорится в этот отчет об ошибке) - просто установите настройки-инструменты:

conda install setuptools

Comments

    Ничего не найдено.