点子爆发了。 如何修复DistributionNotFound错误?

每当我尝试使用点子,我得到一个错误。 为了试验:

$ 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。

我在我的MacBook中发现这个问题,原因是因为@Stephan说我使用easy_install来安装pip,而这两个py包pipe理工具的混合导致了pkg_resources.DistributionNotFound问题。 解决的办法是:

 easy_install --upgrade pip 

记住:只需使用上述工具之一来pipe理你的Py包。

我用/ usr / local / bin / pip中的0.8.2replace了0.8.1,一切都恢复正常。

 __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 

我在使用自制软件时遇到了这个问题。 这是来自问题#26900的解决scheme

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

如果你在CentOS上,确保你安装了YUM包“python-setuptools”

 yum install python-setuptools 

为我修好了。

问题的根源往往是在bin (Linux)或Scripts (Windows)子目录中过时的脚本。 我将以我遇到的问题作为例子来解释这个问题。

我有我的用户网站包安装virtualenv版本1.10(事实上它是在用户网站包不是系统网站包在这里是无关紧要的)

 pdobrogost@host:~$ which virtualenv /home/users/pdobrogost/.local/bin/virtualenv pdobrogost@host:~$ virtualenv --version 1.10 

我升级到版本1.11后,我得到了以下错误:

 pdobrogost@host:~$ virtualenv --version Traceback (most recent call last): File "/home/users/pdobrogost/.local/bin/virtualenv", line 5, in <module> from pkg_resources import load_entry_point File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2701, in <module> return self.__dep_map File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 572, in resolve if insert: pkg_resources.DistributionNotFound: virtualenv==1.10 

在错误消息中提到的文件/home/users/pdobrogost/.local/bin/virtualenv看起来像这样:

 #!/opt/python/2.7.5/bin/python2.7 # EASY-INSTALL-ENTRY-SCRIPT: 'virtualenv==1.10','console_scripts','virtualenv' __requires__ = 'virtualenv==1.10' import sys from pkg_resources import load_entry_point if __name__ == '__main__': sys.exit( load_entry_point('virtualenv==1.10', 'console_scripts', 'virtualenv')() ) 

在那里,我们看到virtualenv脚本没有更新,仍然需要以前安装的virtualenv版本1.10。
现在,像这样重新安装virtualenv

 pdobrogost@host:~$ pip install --user --upgrade virtualenv Downloading/unpacking virtualenv from https://pypi.python.org/packages/py27/v/virtualenv/virtualenv-1.11.1-py27-none-any.whl#md5=265770b61de41d34d2e9fdfddcdf034c Using download cache from /home/users/pdobrogost/.pip_download_cache/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fpy27%2Fv%2Fvirtualenv%2Fvirtualenv-1.11.1-py27-none-any.whl Installing collected packages: virtualenv Successfully installed virtualenv Cleaning up... 

没有帮助(既无法pip install --user --upgrade --force-reinstall virtualenv ),因为/home/users/pdobrogost/.local/bin/virtualenv脚本保持不变。

我可以解决这个问题的唯一方法是从/home/users/pdobrogost/.local/bin/文件夹手动删除virtualenv *脚本,然后再次安装virtualenv。 在此之后,新生成的脚本引用包的正确版本:

 pdobrogost@host:~$ virtualenv --version 1.11 

尝试使用get-pip脚本重新安装:

 wget https://bootstrap.pypa.io/get-pip.py sudo python3 get-pip.py 

这是来自pip Github页面,并为我工作。

我能够这样解决这个问题:

 $ brew update $ brew doctor $ brew uninstall python $ brew install python --build-from-source # took ~5 mins $ python --version # => Python 2.7.9 $ pip install --upgrade pip 

我正在运行瓦特/以下的东西(截至2015年1月2日):

 OS X Yosemite Version 10.10.1 $ brew -v Homebrew 0.9.5 $ python --version Python 2.7.9 $ ipython --version 2.2.0 $ pip --version pip 6.0.3 from /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-6.0.3-py2.7.egg (python 2.7) $ which pip /usr/local/bin/pip 

在Mac OS X(MBP)上,以下(取自本文另一个答案)解决了我的问题:

 C02L257NDV33:~ jjohnson$ brew install pip Error: No available formula for pip Homebrew provides pip via: `brew install python`. However you will then have two Pythons installed on your Mac, so alternatively you can: sudo easy_install pip C02L257NDV33:~ jjohnson$ sudo easy_install pip 

显然这里的根本原因是有一个辅助的方法来安装python(在我的情况下,自制软件)。 希望负责脚本脚本的人能够解决这个问题,因为在第一次报告堆栈溢出之后2年仍然相关。

我在OSx面临类似的问题。 我的堆栈跟踪说

 raise DistributionNotFound(req) pkg_resources.DistributionNotFound: setuptools>=11.3 

然后我做了以下

 sudo pip install --upgrade setuptools 

这解决了我的问题。 希望有人会觉得这有用。

我有这个问题,因为我安装了Python ~/.pydistutils.cfg怪异~/.pydistutils.cfg ,我不记得写了。 删除它,重新安装(用pybrew ),一切都很好。

在我的情况(山姆问题,但其他包)没有版本依赖。 一系列的点卸载和点安装确实有帮助。