Нет модуля с именем pkg_resources - PullRequest
401 голосов
/ 16 сентября 2011

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

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 не на пути?

Ответы [ 32 ]

2 голосов
/ 08 августа 2012

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

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

2 голосов
/ 07 мая 2016

Похоже, они отошли от bitbucket и теперь находятся на github (https://github.com/pypa/setuptools)

Команда для запуска:

wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python
2 голосов
/ 14 июня 2016

Для меня это оказалось проблемой с правами доступа на site-packages.Так как это только моя среда разработки, я поднял разрешения и все снова работает:

sudo chmod -R a+rwx /path/to/my/venv/lib/python2.7/site-packages/
2 голосов
/ 06 июня 2012

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

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

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

2 голосов
/ 11 апреля 2018

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

conda install setuptools
1 голос
/ 24 июля 2014

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

1 голос
/ 02 ноября 2018

В Windows, с python 3.7, это работало для меня:

pip install --upgrade setuptools --user

--user устанавливает пакеты в ваш домашний каталог, который не требует прав администратора.

0 голосов
/ 25 апреля 2016

Я использую CentOS 6.7, и мой python был просто обновлен с 2.6.6 до 2.7.11, после того, как попробовал так много разных ответов, наконец-то работает следующий:

sudo yum install python-devel

Надеюсь помочь кому-нибудьв той же ситуации.

0 голосов
/ 16 ноября 2014

В Windows я установил pip, скачанный с www.lfd.uci.edu / ~ gohlke / pythonlibs / , и решил эту проблему.

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

0 голосов
/ 30 ноября 2017

У меня была такая же проблема, когда я использовал 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 для его импорта.

...