我现在在EC2上使用pip,python版本是2.7。 'sudo pip'突然不再起作用了。
[ec2-user@ip-172-31-17-194 ~]$ sudo pip install validate_email
Traceback (most recent call last):
File "/usr/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3138, in <module>
@_call_aside
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3124, in _call_aside
f(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3151, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 663, in _build_master
return cls._build_from_requirements(__requires__)
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 676, in _build_from_requirements
dists = ws.resolve(reqs, Environment())
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 849, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pip==6.1.1' distribution was not found and is required by the application
[ec2-user@ip-172-31-17-194 ~]$ which pip
/usr/local/bin/pip
答案 0 :(得分:11)
首先,which pip
不会返回与sudo which pip
相同的结果,所以你应该先检查一下。
你也可以考虑不要将pip作为sudo运行。 Is it acceptable & safe to run pip install under sudo?
第二,你可以试试这个:
easy_install --upgrade pip
如果你在这里遇到错误(关于pip&#39;车轮支持),试试这个,然后再次运行上面的命令:
easy_install -U setuptools
答案 1 :(得分:4)
我使用Wesm的提示修复了相同的错误(&#34;&#39; pip == 6.1.1&#39;未找到分布&#34;)
$> which pip && sudo which pip
/usr/local/bin/pip
/usr/bin/pip
所以,它会刺激&#34; pip&#34;普通用户和root用户不一样。稍后会解决。
然后我跑了&#34; sudo easy_install --upgrade pip&#34; =&GT;成功
然后我使用&#34; sudo / usr / local / bin / pip install&#34;它有效。
答案 2 :(得分:2)
对于同样遇到相同问题的任何人,还有一些其他信息:-
使用sudo
运行命令可在usr/bin
目录中搜索该命令。解决此问题的一种方法是在使用sudo
时指定命令的完整路径,该问题由@Cissoid在问题的注释部分中注释
或
...您可以做的是使用usr/bin
命令在ln
目录中为该命令创建一个符号链接(符号链接)。
$> ln -s /usr/local/bin/pip /usr/bin/pip
语法是:-
$> ln -s /path/to/file /path/to/link
答案 3 :(得分:0)
我尝试了其中一些解决方案,但收效甚微。最后,我只是使用Ubuntu作为操作系统创建了一个新实例。已经正确设置了正确使用Python的功能。
如果这不可能,那么您可以尝试将用户pip链接到root(sudo)路径上的文件夹中。