pip坏了。如何修复DistributionNotFound错误?

156 投票
11 回答
225322 浏览
提问于 2025-04-16 18:45

每次我尝试使用pip的时候都会出现错误。例如:

$ sudo pip install gevent-websocket

Traceback (most recent call last):  
File "/usr/local/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2675, in <module>
parse_requirements(__requires__), Environment()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 552, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pip==0.8.1

我很想把pip的版本改成0.8.2,但我不想处理因为“修改”我的安装而带来的后果……我现在用的是Python 2.7,pip的版本是0.8.2。

11 个回答

29

我在使用homebrew的时候遇到了这个问题。这里是来自问题 #26900 的解决方案。

python -m pip install --upgrade --force pip
31

我把/usr/local/bin/pip里的0.8.1换成了0.8.2,然后一切又正常了。

__requires__ = 'pip==0.8.2'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('pip==0.8.2', 'console_scripts', 'pip')()
    )

我是通过easy_install安装pip的,这可能让我遇到了这个麻烦。我觉得现在应该这样做才对。

$ sudo apt-get install python-pip python-dev build-essential 
$ sudo pip install --upgrade pip 
$ sudo pip install --upgrade virtualenv
256

我在我的MacBook上遇到了这个问题,原因是正如@Stephan所说,我使用了 easy_install 来安装pip,而这两种Python包管理工具混在一起使用,导致了 pkg_resources.DistributionNotFound 的问题。

解决方法是:

easy_install --upgrade pip

记住:只用上面提到的一种工具来管理你的Python包。

撰写回答