Нет модуля с именем 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 не находится на пути?
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
у меня была эта ошибка раньше, и самый высокий рейтинг ответа дал мне ошибку, пытаясь загрузить . Я нашел другой источник, так что вы можете выполнить команду:
curl http://peak.telecommunity.com/dist/ez_setup.py | pythonя обнаружил, что я также должен был использовать
sudoчтобы заставить его работать, поэтому вам может понадобиться запустить:sudo curl http://peak.telecommunity.com/dist/ez_setup.py | sudo pythonЯ также создал другое место, из которого можно загрузить скрипт:
нужно было немного больше судо. Затем используется 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).
просто переустановить
setuptoolsby:$ 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.)
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