编辑重新提出的问题不那么具有误导性
pip3和pip2之间有区别吗? pip2 -V
和pip3-V
都生成输出
来自/usr/lib/python2.7/site-packages(python 2.7)的7.1.0
下面的旧问题
我见过使用pip3设置python3 virtualenv的建议,但是当我输入
pip3.4 -V
我得到了输出
pip 7.1.0 from /usr/lib/python2.7/site-packages (python 2.7)
我从pip -V
和pip2 -V
获得的输出完全相同。我的python3安装工作正常。这是怎么回事? pip,pip2和pip3实际上是一回事吗?毕竟https://pip.pypa.io/en/stable/index.html,只提到了点子。奇怪的是,在我的/usr/bin
文件夹中,我可以看到我的pip3比我的pip3.4二进制文件更旧 - 这解释了pip3 -V
失败的原因
pkg_resources.DistributionNotFound: pip==1.5.6
那么交易是什么? pip3语法是多余的,还是我的系统有问题?我使用opensuse 13.2
答案 0 :(得分:7)
在Debian中,我在/ usr / local / bin中找到了三个短文件:pip; PIP 3;和pip3.4。一切都是一样的:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import re
import sys
from pip import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
sys.exit(main())
将pip3的第一个shebang行(使用sudo)更改为
#!/usr/bin/python3
然后确保原始点是明确的
#!/usr/bin/python2
我所有类似的混淆和错误都消失了。
答案 1 :(得分:0)
您可以使用--python=python3
标志来指定要使用的Python版本。
答案 2 :(得分:0)
重新安装python3-pip
(opensuse包)后pip3 -V
和pip3.4 -V
生成正确的输出
pip 7.1.0 from /usr/lib/python3.4/site-packages (python 3.4)
我实际上也在这个过程中卸载了pip2,奇怪地重新安装了pip2 python get-pip
(get-pip)改变了我新工作的pip3.4再次指向python2站点包。这只是通过删除错误的pip3.4并为pip3制作符号链接而改变了
答案 3 :(得分:0)
我在EC2上遇到了同样的问题,终于找到了解决方案。您可以按以下方式使用它-
python3 -m pip <install> <library>
在pip从正确的位置调用pip3之前添加python3 -m。您可以按以下方式检查其位置-
python3 -m pip -V
pip 19.0.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
答案 4 :(得分:0)
我也面临着同样的问题,以下别名帮助了。
alias pip3 =“ python3 -m pip”