Почему Python easy_install не работает на моем Mac?

У меня 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.

Ответ 1

  • Проверьте/usr/bin и /usr/local/bin для установки easy_install и удалите старый script:

    sudo rm -f /usr/bin/easy_install*
    sudo rm -f /usr/local/bin/easy_install*
    
  • Загрузите и запустите дистрибутив:

    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
    
  • Попробуйте еще раз и наслаждайтесь. Например:.

    sudo easy_install pip
    

Ответ 2

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

curl -O http://python-distribute.org/distribute_setup.py
/usr/bin/python2.6 distribute_setup.py

Ответ 3

У меня была такая же проблема сразу после установки новой операционной системы (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 script как sudo, он сработал.

sudo ipython

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

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

Используйте право собственности на изменение, только если у вас нет нескольких учетных записей, в которых используется python.

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

Лучшие

Ответ 4

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

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

Ответ 5

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

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

Ответ 6

У меня было подобное сообщение об ошибке после следующих аналогичных шагов. Я подозреваю это, потому что я пытался установить дистрибутивный модуль, и он попытался установить новую версию 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 и сайта.

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

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

Переустановите модули, которые вы хотите, и немного повезло, что вы вернулись в бизнес...

Ответ 7

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

Готово: -)