Что вызывает 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