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

时间:2011-05-16 00:32:23

标签: python macos easy-install

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

7 个答案:

答案 0 :(得分:153)

  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. 再试一次,享受吧。 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的回答是正确的。

  1. 转到http://pypi.python.org/pypi/setuptools#downloads
  2. 下载setuptools-0.6c11-py2.7.egg
  3. 从您的下载目录运行:sudo ./setuptools-0.6c11-py2.7.egg
  4. 完成: - )