为什么Python easy_install无法在我的Mac上运行?

我有一个运行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设置。

  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 

我怀疑easy_install最简单的方法就是安装distribute ,这是distutils一个改进版本,它捆绑了easy_install自己的版本。 安装很简单:

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

刚刚安装新的操作系统(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 

所以我将所有权从根目录更改为文件夹/Library/Python/2.7/site-packages/的用户()

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

只有当您没有使用python的多个帐户时才使用更改所有权。

我希望它适合你。

最好

您的setuptools安装已损坏。 /usr/bin目录下的easy_install-2.6脚本只是一个包装器,它会在Python安装中加载实际的easy_install模块,而后者缺失。 假设卸载pip或者打破了指向它的指针(通常以site-packages目录中的.pth文件的forms),或者删除了整个包,但是没有删除/usr/bin/easy_install-2.6包装脚本。

最好的办法是按照setuptools PyPI页面上的说明再次从头开始重新安装。

我有同样的问题,我怀疑是由于我的安装Homebrew,它显然安装了它自己的easy_install版本盲目,并拧上你正在运行的任何东西(足够的时间让自制软件认识到这是一个问题)造成的。 我在这里find了我的解决scheme在Snowleopard上升级Python使用Homebrew现在pip和easy_install不起作用

虽然我实际上在狮子,它仍然解决了我的问题。 你只需从http://pypi.python.org/pypi/ez_setup下载ez_setup.py – 通过terminal运行ez_setup.py,你就可以参加比赛了。

按照类似的步骤后,我有类似的错误信息。 我怀疑这是因为我试图安装分发模块,并试图安装一个新版本的setuptools,因为它没有正确地覆盖Mac OS X提供的setuptools,所以不能正常工作。 但这只是一个怀疑。

我通过执行以下操作来解决我的问题。 我发现目录/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python有4个名字中带有.OLD的文件。 当我做了一个比较类似命名文件没有.OLD从工作时(通过时间机器)我发现,他们是除名称相同。 所以我做了以下重命名:

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 。 你必须input你的密码。

我做的另一件事是清理/Library/Python/2.6/site-packages目录。 我使用Time Machine将其重新设置为预置状态。 如果您没有Time Machine,那么如果您删除以分发,易于安装,pip,pkg_resources,setuptools和网站开头的任何文件或文件夹,则应该能够恢复。

如果没有办法,请从该目录中卸载所有可以使用的模块。 例如,如果您使用pip uninstall安装模块,请使用pip uninstall 。 这样做的原因是安装可以将文件复制到usr/local/bin和pip将为您删除的其他位置。

接下来是时候删除任何剩余的模块。 重命名文件夹(以防万一以后有什么需要的时候)重新创build一个空的文件夹。

重新安装你想要的模块,并带着一点运气,你回来了…

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

完成:-)