为什么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设置。
-
检查您的/ 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
-
再试一次,享受。 例如:
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的回答是正确的。
- 转到http://pypi.python.org/pypi/setuptools#downloads
- 下载
setuptools-0.6c11-py2.7.egg
- 从你的下载目录运行:
sudo ./setuptools-0.6c11-py2.7.egg
完成:-)