我有一台运行Python 2.6的Mac。当我尝试使用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不再有效。我想知道如何解决这个问题,或者恢复Mac上的默认Python或easy_install设置。
答案 0 :(得分:153)
检查/ usr / bin和/ usr / local / bin是否有easy_install安装并删除任何旧脚本:
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
再试一次,享受吧。 E.g:
sudo easy_install pip
答案 1 :(得分:27)
我怀疑让easy_install
再次工作的最简单方法是安装distribute
,这是distutils
的改进版本,它捆绑了自己的easy_install
版本。安装很简单:
curl -O http://python-distribute.org/distribute_setup.py
/usr/bin/python2.6 distribute_setup.py
答案 2 :(得分:9)
安装新的操作系统(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
然后我意识到这是一个许可问题。如果我以sudo的形式执行ipython脚本,那就可以了。
sudo ipython
所以我将所有权从root更改为我的用户()文件夹/Library/Python/2.7/site-packages /
sudo chown -R <your_user>:wheel /Library/Python/2.7/site-packages/
仅当您没有多个使用python的帐户时才使用更改所有权。
我希望它适合你。
最佳
答案 3 :(得分:5)
您的setuptools安装已损坏。 easy_install-2.6
目录中的/usr/bin
脚本只是一个在Python安装中加载实际easy_install
模块的包装器,后者缺失。大概卸载pip
要么打破它的指针(通常以.pth
目录中的site-packages
文件的形式),要么删除整个包但没有删除/usr/bin/easy_install-2.6
包装脚本。
您最好的选择是按照instructions on the setuptools PyPI page从头开始重新安装setuptools
。
答案 4 :(得分:3)
我遇到了同样的问题,我怀疑是因为我的Homebrew安装造成了盲目地安装了自己版本的easy_install并搞砸了你当前正在运行的任何东西(足以让自制软件认为它是一个问题)。我在这里找到了我的解决方案Upgraded Python on Snowleopard Using Homebrew now pip and easy_install don't work
虽然我实际上在Lion上,但它仍然解决了我的问题。你只需从http://pypi.python.org/pypi/ez_setup下载ez_setup.py - 通过终端运行ez_setup.py就可以参加比赛了。
答案 5 :(得分:1)
在执行类似步骤后,我收到了类似的错误消息。我怀疑是因为我试图安装分发模块,并试图安装新版本的setuptools 因为无法正确覆盖Mac OS X提供的setuptools而无法正常工作。但这只是一种怀疑。
通过执行以下操作解决了我的问题。我发现目录/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python
在名称中有4个带.OLD的文件。当我与没有.OLD的类似命名的文件进行比较时(通过Time Machine)我发现除了名称之外它们是相同的。所以我做了以下重命名:
setuptools.OLD.1305936263.57 - &gt; setuptools的
setuptools-0.6c9-py2.6.egg-info.OLD.1305936263.57 - &gt; setuptools-0.6c9-py2.6.egg-info
pkg_resources.py.OLD.1305936263.57 - &gt; pkg_resources
site.py.OLD.1305936263.59 - &gt; site.py
我必须使用命令行和sudo mv
,因为这些文件归root所有。例如:sudo mv setuptools.OLD.1305936263.57 setuptools
。您必须输入密码。
我做的另一件事是清理/Library/Python/2.6/site-packages
目录。我使用Time Machine将其设置回预先搞砸的状态。如果您没有Time Machine,那么如果您删除以distribute,easy-install,pip,pkg_resources,setuptools和site开头的任何文件或文件夹,您应该能够恢复。
如果不能解决问题,请从该目录中卸载所有可用的模块。例如,如果您使用pip安装模块,请使用pip uninstall
。这样做的原因是安装可以将文件复制到usr/local/bin
以及pip将为您删除的其他位置。
接下来是时候删除任何剩余的模块了。重命名文件夹(如果以后有你想要的东西),并重新创建一个空文件夹。
重新安装你想要的模块,运气不错,你又回来了......
答案 6 :(得分:0)
Martijn Pieter的回答是正确的。
setuptools-0.6c11-py2.7.egg
sudo ./setuptools-0.6c11-py2.7.egg
完成: - )