Easy_install和Pip无法使用

16

在Python 2.7上,easy_install和pip不再起作用了,当我尝试运行以下命令时:

sudo easy_install pip

我得到:

Traceback (most recent call last):
  File "/usr/bin/easy_install", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/bin/lib/python2.7/site-packages/distribute-0.6.19-py2.7.egg/pkg_resources.py", line 2713, in <module>
    parse_requirements(__requires__), Environment()
  File "/usr/bin/lib/python2.7/site-packages/distribute-0.6.19-py2.7.egg/pkg_resources.py", line 584, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: distribute==0.6.15

当我尝试:

sudo pip install [package]

我得到:

Traceback (most recent call last):
  File "/usr/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/bin/lib/python2.7/site-packages/distribute-0.6.19-py2.7.egg/pkg_resources.py", line 2713, in <module>
    parse_requirements(__requires__), Environment()
  File "/usr/bin/lib/python2.7/site-packages/distribute-0.6.19-py2.7.egg/pkg_resources.py", line 584, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pip==0.8.2

我已经安装了它们两个(是的,首先删除了它们),但没有结果...

谢谢!

(我已经尝试过这篇帖子了)


这个问题更适合在超级用户网站上问,不是吗? - Saher Ahwal
6个回答

35

我遇到了一个问题,就是Python的分发包由于某种原因未安装。在按照python-distribute的说明进行操作后,问题得以解决。

按照以下方式安装分发包:

$ wget https://web.archive.org/web/20100225231201/http://python-distribute.org/distribute_setup.py
$ python distribute_setup.py

编辑:http://python-distribute.org/distribute_setup.py已经不再可用:

希望这能解决您运行时遇到的问题。

$ sudo easy_install

快乐编程!


这解决了我的问题..现在我可以使用easy_install..PIP..轻松安装任何东西..再见 :) - UberNeo
@UberNeo,别过度了。Pip 仍然有其优点!安装失败不会使您的计算机处于脏状态,而 pip 还具有卸载选项。 - Fydo
也对我解决了问题(Ubuntu 14.04)。 - Colby Blair
python-distribute.org无法访问。 - Elijah Lynn
谢谢指出。还有另一个副本位于:https://gist.githubusercontent.com/anonymous/947191a4635cd7b7f79a/raw/36054b7f8d7b0c4c172628fd9bd16f46e53bb34b/distribute_setup.py,只需将我的答案中的 http://python-distribute.org/distribute_setup.py 替换即可。 - Fydo
如果你绝对需要 distribute_setup.py,看起来你可以在以下网址找到夜间版本:https://pypi.python.org/pypi/distribute/0.6#distribute-setup-py - Fydo

18
如果你通过Distribute安装了新版本的easy_install,那么新的命令可能已经被安装在另一个目录下,最有可能的是/usr/local/bin/。但回溯信息显示你正在使用/usr/bin/easy_install。尝试这样做:
sudo /usr/local/bin/easy_install ...

4
谢谢,这个修复方法对我有用(具体来说是反转 - /usr/bin/easy_install)。 - mikewaters
1
谢谢,反向操作也为我解决了问题 - 我没有注意到我的系统上有两个 easy_install 安装。 - masam
运行得非常好!我升级到10.8.2并遇到了这个问题。谢谢Ned! - Lance Quejada

9

尝试

  sudo easy_install Distribute 

如果存在,但过于陈旧

  sudo easy_install -U Distribute

看起来是Distribute / setuptools(它的旧名称)出了问题或Python包设置有误。如果这两者都没有帮助,请尝试删除完整的Python 2.7安装并从头重新安装所有内容。
混乱的可能原因是您同时使用sudo easy_install / sudo pip和Linux发行版软件包来混合和匹配系统范围的安装包。如果使用pip / easy_install,则应改用virtualenv(不需要sudo)。

http://pypi.python.org/pypi/virtualenv


3
在基于包的Linux发行版上,始终使用virtualenv!http://workaround.org/easy-install-debian - Federico
请注意,现在setuptools包正在再次升级,Distribute分支已被弃用,因此命令将是easy_install -U setuptools。 - Mikko Ohtamaa
@Timmmm 我也遇到了同样的问题。我忘记在哪里看到过有关删除 Python 2.7 的指示了...你是如何解决的?谢谢! - trillions

0

我之前遇到了类似的问题,但是以 root 用户身份运行时一切工作正常。在我的情况下,我发现 Python 包的权限对于我正在运行命令的用户 ID 是不可读的。

为了纠正这个问题,我运行了以下命令来将所有用户的读取和执行权限打开:

sudo chmod o+rx -R /usr/local/lib/python2.7/dist-packages/*.egg

0

我试图让pip在2.7.0版本上工作,但似乎它没有easy_install/pip文件(主目录中的Script文件夹),安装2.7.13版本解决了我的问题。


0

当我尝试在Windows上使用Python 3.6通过pip安装软件包时,遇到了类似的问题。 (pip应该可以直接使用此安装)

问题是没有以管理员身份运行。

以管理员身份运行cmd,然后安装我的软件包即可解决:

python -m pip install pylint


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接