Я развертываю приложение 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
не на пути?
python
django
virtualenv
setuptools
pip
igniteflow
источник
источник
pip uninstall -y setuptools
а затемpip install setuptools==39.1.0
работал для меня на Анаконде на Windows 10.Ответы:
Обновление за июль 2018 года
Большинство людей должны теперь использовать
pip install setuptools
(возможно, сsudo
).Некоторые , возможно , потребуется (пере) установить
python-setuptools
пакет с помощью своего менеджера пакетов (apt-get install
,yum install
и т.д.).Эта проблема может сильно зависеть от вашей ОС и среды разработки. См. Предыдущие / другие ответы ниже, если вышеупомянутое не работает для вас.
объяснение
Это сообщение об ошибке вызвано отсутствующим / сломанным
setuptools
пакетом Python . В соответствии с замечанием Мэтта М. и выпуском # 581 setuptools , сценарий начальной загрузки, упомянутый ниже, больше не является рекомендуемым методом установки.Инструкции по загрузочному сценарию останутся ниже, на случай, если они по-прежнему будут полезны для всех.
Legacy Answer
Я столкнулся с тем же
ImportError
сегодня, пытаясь использовать пипс. Каким-то образомsetuptools
пакет был удален в моей среде Python.Чтобы устранить проблему, запустите сценарий установки для
setuptools
:(или если вы не
wget
установили (например, OS X), попробуйтевозможно с
sudo
предварительным знаком.)Если у вас есть какая-либо версия
distribute
илиsetuptools
ниже 0,6, вам придется сначала удалить ее. *См. Инструкции по установке для получения дополнительной информации.
* Если у вас уже есть рабочая
distribute
версия, ееsetuptools
проще обновить до «оболочки совместимости», которая переключит вас . Но если вещи уже сломаны, не пытайтесь это сделать.источник
sudo python
хотя YMMV.easy_install pip
снова заставлял пипс работать. Моя проблема возникла из-за того, что Cygwin обновил Python с 2.6 до 2.7 за моей спиной при установке чего-то не связанного.distribute
он устарел иsetuptools
является его преемником. Я отредактирую ответ, чтобы обновить его, но я не уверен, что это лучший способ справиться с этим, поэтому кто-то может отменить редактирование, в этом случае: перейдите сюда .sudo
, как @Nik отметил выше?исправил это для меня в Debian. Похоже, что удаление некоторых пакетов .deb (в моем случае измененный набор) нарушило путь, используемый python для поиска пакетов
источник
Я видел эту ошибку при попытке установить rhodecode на virtualenv в Ubuntu 13.10. Для меня решение было запустить
прежде чем я запустил easy_install rhodecode.
источник
pip install --upgrade setuptools
один сделал трюк для меня.pip install --upgrade setuptools --user
pip install --upgrade setuptools
из-за той же ошибки:No module named pkg_resources
pip install --upgrade distribute
сделал работу, когда использовал модуль venv Python 3. Python 2 поддерживает--distribute
флаг virtualenv , но его нужно устанавливатьdistribute
в среде, созданнойvenv
.Это также случилось со мной. Я думаю, что проблема произойдет, если в файле require.txt есть запись «распределить», а virtualenv использует setuptools. Пип попытается исправить патчи для установки, чтобы освободить место для распространения, но, к сожалению, это не получится.
Простое решение - удалить ваш текущий virtualenv, а затем создать новый virtualenv с аргументом --distribute.
Пример при использовании virtualenvwrapper:
источник
pip install -U distribute
после активации среды сделает эту работу.В CentOS 6 установка пакета python-setuptools исправила его.
источник
sudo apt-get install python3-setuptools
sudo yum reinstall python-setuptools
исправил ее.У меня была эта ошибка ранее, и самый высокий рейтинг дал мне ошибку при попытке загрузить
ez_setup.py
файл. Я нашел другой источник, чтобы вы могли запустить команду:Я обнаружил, что мне также пришлось использовать
sudo
его, чтобы он работал, поэтому вам может понадобиться запустить:Я также создал другое место, откуда скрипт может быть загружен:
https://gist.github.com/ajtrichards/42e73562a89edb1039f3
источник
curl http://peak.telecommunity.com/dist/ez_setup.py | sudo python
После того, как я попробовал несколько из этих ответов, а затем обратился к коллеге, у меня работало в Ubuntu 16.04:
В моем случае проблема была только в старой версии подушки 3.1.1 (подушка 4.x работала нормально), и теперь она решена!
источник
Нужно немного больше sudo. Затем использовал easy_install для установки pip. Работает.
источник
sudo
не нужно требовать в virtualenvЯ исправил ошибку с помощью virtualenv:
Скопировано pkg_resources.py из
/Library/Python/2.7/site-packages/setuptools
в
/Library/Python/2.7/site-packages/
Это может быть дешевый обходной путь, но он сработал для меня.
,
Если инструменты настройки не существуют, вы можете попробовать установить пакеты system-site-package, набрав
virtualenv --system-site-packages /DESTINATION DIRECTORY
, изменив последнюю часть на каталог, в который вы хотите установить.pkg_rousources.py
будет находиться в этом каталоге в lib / python2.7 / site-packagesисточник
Для меня эта ошибка была вызвана, потому что у меня был подкаталог под названием "сайт"! Я не знаю, это ошибка в пипсах или нет, но я начал с:
/some/dir/requirements.txt / some / dir / site /
pip install -r needs.txt не сработает, и вы получите ошибку, описанную выше!
переименование подпапки с "site" на "src" решило проблему! Может быть, Пип ищет "сайт-пакеты"? Сумасшедший.
источник
У меня была эта проблема, когда я активировал свой virtualenv как пользователь, отличный от того, кто его создал. Кажется, это проблема разрешения. Я обнаружил это, когда попробовал ответ @cwc и увидел это в выводе:
Переключение обратно на пользователя, который создал virtualenv, затем выполнение оригинальной
pip install
команды прошло без проблем. Надеюсь это поможет!источник
У меня была эта проблема и сегодня. У меня проблема только внутри виртуальной среды.
Решением для меня было деактивировать виртуальную среду, удалить и затем удалить virtualenv с помощью pip и переустановить его. После этого я создал новую виртуальную среду для своего проекта, затем pip работал нормально как внутри виртуальной среды, так и в обычной среде.
источник
Похоже, они отошли от bitbucket и теперь находятся на github ( https://github.com/pypa/setuptools )
Команда для запуска:
источник
Для меня это оказалось проблемой с разрешениями
site-packages
. Так как это только моя среда разработки, я поднял разрешения и все снова работает:источник
Если вы столкнулись с этой проблемой в приложении, установленном через conda , решение (как указано в этом отчете об ошибке) состоит в простой установке инструментов настройки с помощью:
источник
В Windows, с Python 3.7, это работало для меня:
--user
устанавливает пакеты в ваш домашний каталог, который не требует прав администратора.источник
простое решение заключается в том, что вы можете использовать conda для обновления setuptools или всей среды. (Специально для пользователей Windows.)
если setuptools удален, вам необходимо установить setuptools снова.
если все эти методы не работают, вы можете обновить conda environement. Но я не рекомендую переустанавливать и удалять некоторые пакеты, потому что после этого ситуация усугубится.
источник
Видимо, вам не хватает setuptools. Некоторые версии virtualenv по умолчанию используют дистрибутив вместо setuptools. Используйте эту
--setuptools
опцию при создании virtualenv или установитеVIRTUALENV_SETUPTOOLS=1
в своей среде.источник
В моем случае изначально у меня было установлено 2 версии Python, а позже я удалил старую. Так что при создании виртуальной среды
имел в виду удаленный питон
Что сработало для меня
То же самое верно, когда вы пытаетесь использовать пипс.
источник
Я столкнулся с этим ответом, когда пытался следовать этому руководству для OSX . То, что работало для меня, было, после бега
python get-pip
, я должен был ТАКЖЕeasy_install pip
. Это решило проблему невозможности запустить pip вообще. Я сделал иметь кучу старых macport материала установлен. Это могло противоречить.источник
В Windows я установил pip, скачанный с www.lfd.uci.edu/~gohlke/pythonlibs/, а затем решил эту проблему.
Поэтому я должен был сначала установить setuptools (easy_install).
источник
просто переустановите ваш
setuptools
по:тогда все будет хорошо.
источник
Я использую CentOS 6.7, и мой python был просто обновлен с 2.6.6 до 2.7.11, после того, как попробовал так много разных ответов, наконец, следующий делает свою работу:
Надеюсь помочь кому-то в такой же ситуации.
источник
Ни один из опубликованных ответов у меня не сработал, поэтому я переустановил pip и все заработало!
(ссылка: http://www.saltycrane.com/blog/2010/02/how-install-pip-ubuntu/ )
источник
Я столкнулся с этой проблемой после обновления сборки Ubuntu. Кажется, он прошел и удалил настроенные инструменты во всех моих виртуальных средах.
Чтобы исправить это, я переустановил виртуальную среду обратно в целевой каталог. Это убрало недостающие инструменты установки и снова запустило работу.
например:
источник
Для меня хорошим решением было использовать
--no-download
опцию virtualenv (VIRTUALENV_NO_DOWNLOAD=1 tox
для токсикоза).источник
В Opensuse 42.1 исправлена эта проблема:
источник
ImportError: Нет модуля с именем pkg_resources: решение состоит в том, чтобы переустановить Python pip с помощью следующей команды.
Шаг: 1 Войдите в систему как пользователь root.
Шаг: 2 Удалите пакет python-pip, если он существует.
Шаг: 3 Загрузите файлы с помощью команды wget (Загрузка файла в
pwd
)Шаг: 4 Запустите файл Python.
Шаг: 5 Окончательно выполните команду установки.
Примечание: пользователь должен быть пользователем root.
источник
Я столкнулся с этой ошибкой в моей среде Google App Engine. И
pip install -t lib setuptools
исправил проблему.источник
Если вы используете Python 3, вы должны использовать pip3 вместо pip. Команда выглядит так
$ pip3 install requirements.txt
источник