Почему Python easy_install не работает на моем Mac? - PullRequest
59 голосов
/ 16 мая 2011

У меня Mac под управлением Python 2.6.Когда я пытаюсь использовать easy_install, я получаю это сообщение:

/usr/bin/easy_install-2.6:7: UserWarning: Module pkg_resources was already imported from /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.pyc, but /Library/Python/2.6/site-packages is being added to sys.path
  from pkg_resources import load_entry_point
/usr/bin/easy_install-2.6:7: UserWarning: Module site was already imported from /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site.pyc, but /Library/Python/2.6/site-packages is being added to sys.path
  from pkg_resources import load_entry_point
Traceback (most recent call last):
  File "/usr/bin/easy_install-2.6", line 10, in <module>
    load_entry_point('setuptools==0.6c9', 'console_scripts', 'easy_install')()
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py", line 271, in load_entry_point
    return False
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py", line 2173, in load_entry_point
    deps = []
ImportError: Entry point ('console_scripts', 'easy_install') not found

Я очень смущен этим и хочу знать, как я могу это исправить.Раньше я не получал это сообщение, затем после установки pip и его удаления easy_install больше не работает.Мне было интересно, как я могу это исправить или восстановить настройки Python по умолчанию или easy_install на Mac.

Ответы [ 7 ]

153 голосов
/ 25 сентября 2012
  1. Проверьте ваши / usr / bin и / usr / local / bin для установки easy_install и удалите все старые скрипты:

    sudo rm -f /usr/bin/easy_install*
    sudo rm -f /usr/local/bin/easy_install*
    
  2. Скачайте и запустите дистрибутив:

    curl -O https://svn.apache.org/repos/asf/oodt/tools/oodtsite.publisher/trunk/distribute_setup.py
    
    sudo python distribute_setup.py
    sudo rm distribute_setup.py
    
  3. Попробуйте еще раз и наслаждайтесь.Например:

    sudo easy_install pip
    
27 голосов
/ 16 мая 2011

Я подозреваю, что самый простой способ заставить easy_install работать снова - это установить distribute, который является улучшенной версией distutils, которая объединяет свою собственную версию easy_install. Установка проста:

curl -O http://python-distribute.org/distribute_setup.py
/usr/bin/python2.6 distribute_setup.py
9 голосов
/ 24 июля 2011

У меня была такая же проблема только после установки новой операционной системы (Lion OSX). После установки Python и выполнения его

sudo easy_install ipython
ipython

Я получил следующую ошибку:

Traceback (most recent call last):
  File "/usr/local/bin/ipython", line 8, in <module>
    load_entry_point('ipython==0.10.2', 'console_scripts', 'ipython')()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 318, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2220, in load_entry_point
    raise ImportError("Entry point %r not found" % ((group,name),))
ImportError: Entry point ('console_scripts', 'ipython') not found

Тогда я понимаю, что это была проблема с разрешением. Если я выполню скрипт ipython как sudo, он сработает.

sudo ipython

Итак, я сменил владельца с root на моего пользователя () папки /Library/Python/2.7/site-packages/

sudo chown -R <your_user>:wheel /Library/Python/2.7/site-packages/

Используйте смену владельца, только если у вас нет нескольких учетных записей, использующих python.

Я надеюсь, что это сработает для вас.

Лучший

5 голосов
/ 04 июня 2011

Ваша установка в setuptools не работает.Сценарий easy_install-2.6 в вашем каталоге /usr/bin является только оболочкой, которая загружает фактический модуль easy_install в вашей установке Python, а последний отсутствует.Предположительно, удаление pip либо сломало указатель на него (обычно в виде файла .pth в вашем каталоге site-packages), либо удалило весь пакет, но не удалило скрипт оболочки /usr/bin/easy_install-2.6.

Лучше всего заново установить setuptools с нуля, следуя инструкциям на странице PyTI в setuptools .

3 голосов
/ 22 марта 2012

У меня была та же проблема, я подозреваю, что она была вызвана моей установкой Homebrew, которая, по-видимому, вслепую устанавливает собственную версию easy_install и испортила все, что у вас сейчас работает (достаточно времени, чтобы homebrew распознал это как проблему).Я нашел свое решение здесь Обновленный Python на Snowleopard. Теперь с помощью Homebrew pip и easy_install не работают

Пока я нахожусь на Lion, это все равно решило мою проблему.Вы просто скачиваете ez_setup.py с http://pypi.python.org/pypi/ez_setup - запустите ez_setup.py через терминал, и вы отправитесь в гонки.

1 голос
/ 02 июля 2011

У меня было похожее сообщение об ошибке после выполнения аналогичных шагов. Я подозреваю, что это потому, что я попытался установить модуль распространения, и он попытался установить новую версию setuptools, которая не совсем работало, потому что не удалось корректно переопределить предоставленные Mac OS X настройки. Но это только подозрение.

Я исправил свою проблему, выполнив следующее. Я обнаружил, что каталог /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python было 4 файла с .OLD в названии. Когда я сравнивал файлы с одинаковыми именами без .OLD, когда все работало (через Time Machine), я обнаружил, что они были одинаковыми, за исключением имени. Поэтому я сделал следующие переименования:

setuptools.OLD.1305936263.57 -> setuptools
setuptools-0.6c9-py2.6.egg-info.OLD.1305936263.57 -> setuptools-0.6c9-py2.6.egg-info
pkg_resources.py.OLD.1305936263.57 -> pkg_resources
site.py.OLD.1305936263.59 -> site.py

Мне пришлось использовать командную строку и sudo mv, потому что файлы принадлежат пользователю root. Например: sudo mv setuptools.OLD.1305936263.57 setuptools. Вам нужно будет ввести свой пароль.

Еще одна вещь, которую я сделал, это очистить каталог /Library/Python/2.6/site-packages. Я использовал Time Machine, чтобы вернуть его в предварительно запутанное состояние. Если у вас нет Time Machine, то вы сможете восстановить, если удаляете какие-либо файлы или папки, начиная с дистрибутива, простой установки, pip, pkg_resources, setuptools и site.

Если это не помогает, удалите все модули из этого каталога. Например, используйте pip uninstall, если вы установили модули с помощью pip. Это делается для того, чтобы при установке можно было копировать файлы в usr/local/bin и другие места, которые pip удалит для вас.

Затем пришло время удалить все оставшиеся модули. Переименуйте папку (на случай, если вы захотите позже) и создайте новую пустую.

Переустановите модули, которые вам нужны, и с небольшой удачей вы вернетесь в бизнес ...

0 голосов
/ 28 июля 2011

Martijn Pieter ответ правильный.

  1. Перейти к http://pypi.python.org/pypi/setuptools#downloads
  2. Загрузить setuptools-0.6c11-py2.7.egg
  3. Из каталога загрузок запустите: sudo ./setuptools-0.6c11-py2.7.egg

Готово: -)

...