每当我尝试使用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版本。
答案 0 :(得分:246)
我在MacBook中发现了这个问题,原因是因为@Stephan说,我使用easy_install
来安装pip,并且两个py包管理工具的混合导致了pkg_resources.DistributionNotFound
问题。
决心是:
easy_install --upgrade pip
请记住:只需使用一个上述工具来管理Py包。
答案 1 :(得分:31)
我在/ usr / local / bin / pip的0.8.2中替换了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
答案 2 :(得分:25)
当我使用自制软件时,我遇到了这个问题。以下是问题#26900
的解决方案python -m pip install --upgrade --force pip
答案 3 :(得分:11)
尝试使用get-pip脚本重新安装:
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
这是来自pip Github页面,并为我工作。
答案 4 :(得分:7)
如果您使用的是CentOS,请确保已安装YUM软件包“python-setuptools”
yum install python-setuptools
为我修好了。
答案 5 :(得分:6)
问题的根源通常是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
脚本没有更新,仍然需要以前安装的版本1.10的virtualenv。
现在,像这样重新安装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
答案 6 :(得分:6)
我能够解决这个问题:
$ 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
答案 7 :(得分:4)
我在OSx中遇到了类似的问题。我的堆栈跟踪正在说
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: setuptools>=11.3
然后我做了以下
sudo pip install --upgrade setuptools
这解决了我的问题。希望有人会觉得这很有用。
答案 8 :(得分:2)
在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(在我的例子中是Homebrew)。希望负责pip脚本的人可以解决这个问题,因为它首次报告Stack Overflow后仍然相关2年。
答案 9 :(得分:1)
我遇到了这个问题,因为我安装了一个奇怪的~/.pydistutils.cfg
的python / pip,我不记得写了。删除它,重新安装(使用pybrew
),一切都很好。
答案 10 :(得分:1)
在我的情况下(sam问题,但其他包)没有版本依赖。一系列的pip uninstall和pip insstall确实有所帮助。