Почему 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 правильный.
Готово: -)