请帮我 .
-
server:aws ec2
-
os:amazon linux
-
python版本:2.7.10
$ pip --version
pip 7.1.2 from /usr/local/lib/python2.7/site-packages (python 2.7)
没关系 .
但...
$ sudo pip --version
Traceback (most recent call last):
File "/usr/bin/pip", line 5, in
from pkg_resources import load_entry_point
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3020, in
working_set = WorkingSet._build_master()
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 616, in _build_master
return cls._build_from_requirements(__requires__)
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 629, in _build_from_requirements
dists = ws.resolve(reqs, Environment())
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 807, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pip==6.1.1
6 回答
试试这个:
sudo easy_install --upgrade pip
通过执行此操作,您正在升级sudoer正在使用的pip版本 .
如果您有2个版本的pip,例如/ user / lib / pip和/ user / local / lib / pip属于python 2.6和2.7 . 你可以删除/ user / lib / pip并 Build 一个链接pip => / user / local / lib / pip .
你可以看到从"pip"和"sudo" pip调用的pip命令是不同的 . 让他们一致可以解决它 .
我有同样的问题 .
sudo which pip
sudo vim /usr/bin/pip
修改任何
pip==6.1.1
到pip==8.1.2
或您刚升级到的版本 .这个对我有用 .
正如您在
sudo
中看到的那样,您运行另一个pip
脚本 .sudo
:/usr/bin/pip
是旧版本;没有
sudo
:/usr/local/lib/python2.7/site-packages/pip
这是最新版本 .您遇到的错误有时是由使用不同的包管理器引起的,解决它的常用方法是@Ali已经提出的错误:
sudo easy_install --upgrade pip
假设在/ usr / bin / pip和/ usr / local / bin / pip中存在两个pip版本,其中第一个存在于sudo用户,第二个存在于普通用户 . 从sudo用户可以运行以下命令,因此它将使用更高版本的pip进行安装 .
pip --version
. 请记住pip的版本 . 稍后会有用 .sudo which pip
. 位置应该类似于/usr/bin/pip-2.7sudo nano /usr/bin/pip-2.7
在nano内修改任何
pip==6.1.1
至pip==9.0.1
或您使用--version
找到的版本 . 那里没有太多的文字要改变 .sudo cp /usr/bin/pip-2.7 /usr/bin/pip
. 复制此文件以使其相同 .每次升级pip时我都需要执行此步骤 . :(
对于pip的升级,您也可以使用以下调用,为我工作: