Что вызывает ImportError: нет модуля с именем pkg_resources после обновления Python на os X?
Я только что обновил Python до 2.6.4 на своем Mac.
Я установил из пакета dmg.
Кажется, что двоичный код не правильно установил мой путь Python, поэтому я добавил '/usr/local/lib/python2.6/site-packages'
в .bash_profile
>>> pprint.pprint(sys.path)
['',
'/Users/Bryan/work/django-trunk',
'/usr/local/lib/python2.6/site-packages',
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.zip',
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6',
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin',
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac',
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages',
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk',
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old',
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload',
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages']
По-видимому, это не все необходимые пути, потому что я не могу запустить iPython.
$ ipython
Traceback (most recent call last):
File "/usr/local/bin/ipython", line 5, in <module>
from pkg_resources import load_entry_point
ImportError: No module named `pkg_resources`
Я выполнил поиск Google, и я не могу понять, как установить pkg_resources
или убедиться, что это на пути.
Что мне нужно сделать, чтобы исправить это?
Ответы
Ответ 1
[UPDATE] TL; DR pkg_resources
предоставляется либо Distribute, либо setuptools.
[ОБНОВЛЕНИЕ 2] Как было объявлено в PyCon 2013, проекты Distribute
и setuptools
были повторно объединены. Distribute
теперь устарел, и вы должны просто использовать новый ток setuptools
. Попробуйте следующее:
curl -O https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
python ez_setup.py
Или, лучше, используйте текущий pip
в качестве интерфейса высокого уровня и который будет использовать setuptools
под обложками.
[Более длинный ответ на конкретную проблему OP]:
Вы не говорите в своем вопросе, но я предполагаю, что вы обновили его от поставляемого Apple Python (2.5 на 10.5 или 2.6.1 на 10.6) или обновили его с python.org Python 2.5. В любом из этих случаев важным моментом является то, что каждый экземпляр Python имеет свою собственную библиотеку, включая собственную библиотеку сайтов-пакетов, в которой установлены дополнительные пакеты. (И ни один из них не использует /usr/local/lib
по умолчанию, кстати.) Это означает, что вам нужно будет установить эти дополнительные пакеты для нового python 2.6. Самый простой способ сделать это - сначала убедиться, что новый python2.6 появляется сначала в вашем поиске $PATH
(т.е. Ввод python2.6
вызывает его, как ожидалось); установщик python2.6 должен был изменить ваш .bash_profile
, чтобы поместить его каталог bin в начале $PATH
. Затем установите easy_install
с помощью setuptools в соответствии с инструкциями. Модуль pkg_resources
также автоматически устанавливается на этом этапе.
Затем используйте обновленную версию easy_install
(или pip
) для установки ipython
.
easy_install ipython
или
pip install ipython
Он должен автоматически устанавливаться в правильное расположение site-packages
для этого экземпляра python, и вам должно быть хорошо идти.
Ответ 2
Я столкнулся с тем же ImportError
. Как-то пакет setuptools
был удален в моей среде Python.
Чтобы устранить проблему, запустите настройку script для setuptools
:
curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python
Если у вас есть какая-либо версия distribute
или любой setuptools
ниже 0,6, вам придется сначала ее удалить. *
Подробнее см. Инструкции по установке.
* Если у вас уже есть рабочий distribute
, обновление его до "оболочки совместимости", которая переключает вас на setuptools
, проще. Но если вещи уже сломаны, не пробуйте это.
Ответ 3
В случае обновления вашего python на mac os 10.7 и pkg_resources не работает, самый простой способ исправить это - просто переустановить setuptools, как указано выше.
sudo pip install setuptools --upgrade
or sudo easy_install install setuptools --upgrade
Ответ 4
В моей системе (OSX 10.6) этот пакет находится в
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py
Я надеюсь, что это поможет вам понять, если он отсутствует или просто не на вашем пути.
Ответ 5
Причина может быть в том, что модуль IPython не находится в вашем PYTHONPATH.
Если вы загружаете IPython, а затем выполняете
Установка python setup.py
Настройка не добавляет модуль IPython к вашему пути python.
Возможно, вы захотите добавить его в свой PYTHONPATH вручную. Он должен работать после того, как вы выполните:
export PYTHONPATH =/pathtoIPython: $PYTHONPATH
Добавьте эту строку в свой .bashrc или .profile, чтобы сделать ее постоянной.
Ответ 6
Я понимаю, что это не связано с OSX, но во встроенной системе (Beagle Bone Angstrom) у меня было то же сообщение об ошибке. Установка следующих пакетов ipk решила его.
opkg install python-setuptools
opkg install python-pip
Ответ 7
Я получил эту ошибку на Ubuntu, и для меня это работало:
Удалены бинарные файлы Dropbox и загрузите их снова, выполнив:
sudo rm -rf /var/lib/dropbox/.dropbox-dist
dropbox start -i
Ответ 8
Я столкнулся с той же проблемой, когда я работаю над проектом, связанным с автобанами.
1) Итак, я загружаю setuptools.-0.9.8.tar.gz https://pypi.python.org/packages/source/s/setuptools/ и извлекаю его.
2) Затем я получаю модуль pkg_resources и копирую его в нужную папку.
** в моем случае эта папка была C:\Python27\Lib\site-packages\autobahn
Ответ 9
В моем случае пакет python-pygments
был пропущен. Вы можете исправить это командой:
sudo apt-get install python-pygments
Если проблема с pandoc
. Вы должны установить pandoc
и pandoc-citeproc
.
sudo apt-get install pandoc pandoc-citeproc