Что вызывает 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 или убедитесь, что он на пути.

что мне нужно сделать чтобы это исправить?

9 79

9 ответов:

[ОБНОВЛЕНИЕ] TL; DR pkg_resources осуществляется распространение или 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 под касающийся.

[более длинный ответ для конкретной проблемы ОП]:

вы не говорите в своем вопросе, но я предполагаю, что вы обновились с поставляемого Apple Python (2.5 на 10.5 или 2.6.1 на 10.6) или что вы обновились с a 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 и вы должны быть хорошо идти.

я столкнулся с такой же ImportError. Каким-то образом setuptools пакет был удален в моей среде Python.

чтобы устранить проблему, запустите сценарий установки для setuptools:

curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python

если у вас есть какая-либо версия distribute, или любое setuptools ниже 0.6, вы должны удалить его в первую очередь.*

посмотреть Инструкция По Установке для более подробной информации.


* если у вас уже есть работающий distribute обновление это к "оболочке совместимости", которая переключает вас на setuptools легче. Но если что-то уже сломано, не пытайтесь это сделать.

в случае обновления вашего python на mac os 10.7 и pkg_resources не работает, самый простой способ исправить это-просто переустановить setuptools, как упоминалось выше.

sudo pip install setuptools --upgrade
or sudo easy_install install setuptools --upgrade

в моей системе (OSX 10.6) этот пакет находится в

/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py

Я надеюсь, что это поможет вам выяснить, если он отсутствует или просто не на своем пути.

причина может быть в том, что модуль IPython не находится в вашем PYTHONPATH.

Если вы не загружаете IPython, а затем делаете python setup.py установить

установка не добавляет модуль IPython к вашему пути python. Вы можете добавить его в свой PYTHONPATH вручную. Он должен работать после этого :

экспорт PYTHONPATH= / pathtoIPython:$PYTHONPATH

добавьте следующую строку в ваш .bashrc или .профиль, чтобы сделать его постоянным.

Я понимаю, что это не связано с OSX, но на встроенной системе (Beagle Bone Angstrom) у меня было точно такое же сообщение об ошибке. Установка следующих пакетов ipk решила эту проблему.

opkg install python-setuptools
opkg install python-pip

Я получил эту ошибку на Ubuntu, и следующее работало для меня:

удалите двоичные файлы dropbox и загрузите их снова, запустив:

sudo rm -rf /var/lib/dropbox/.dropbox-dist
dropbox start -i

Я столкнулся с той же проблемой, когда я работаю над проектом, связанным с autobahn.

1) поэтому я загружаю setuptools.-0.9.8.смола.форма gzhttps://pypi.python.org/packages/source/s/setuptools/ и извлечь его.

2) Затем я получаю модуль pkg_resources и копирую его в папку, где он нужен. **в моем случае эта папка была C:\Python27\Lib\site-packages\autobahn

в моем случае, пакет python-pygments был пропущен. Вы можете исправить это с помощью команды:

sudo apt-get install python-pygments

если есть проблема с pandoc. Вы должны установить pandoc и pandoc-citeproc.

sudo apt-get install pandoc pandoc-citeproc