pip3.4 -V指的是python2.7安装

时间:2015-07-14 12:54:46

标签: python pip

编辑重新提出的问题不那么具有误导性

pip3和pip2之间有区别吗? pip2 -Vpip3-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 -Vpip2 -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

5 个答案:

答案 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 -Vpip3.4 -V生成正确的输出

pip 7.1.0 from /usr/lib/python3.4/site-packages (python 3.4)

我实际上也在这个过程中卸载了pip2,奇怪地重新安装了pip2 python get-pipget-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”