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

Kir*_*ies 8 python pip

编辑改写的问题不那么具有误导性

pip3和pip2之间有区别吗? pip2 -V并且pip3-V都产生输出

来自/usr/lib/python2.7/site-packages(python 2.7)的pip 7.1.0

下面的老问题

我已经看到了使用pip3设置python3 virtualenv的建议,但是当我输入时

pip3.4 -V
Run Code Online (Sandbox Code Playgroud)

我得到了输出

pip 7.1.0 from /usr/lib/python2.7/site-packages (python 2.7)
Run Code Online (Sandbox Code Playgroud)

这是完全一样的输出,我从得到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
Run Code Online (Sandbox Code Playgroud)

那么这笔交易是什么?pip3语法是多余的,还是我的系统有问题?我使用opensuse 13.2

mig*_*ile 9

在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())
Run Code Online (Sandbox Code Playgroud)

通过将pip3(带有sudo)的第一个shebang行改为

#!/usr/bin/python3
Run Code Online (Sandbox Code Playgroud)

然后确保原始点是明确的

#!/usr/bin/python2
Run Code Online (Sandbox Code Playgroud)

我所有类似的困惑和错误都消失了.


Lak*_*tai 5

我在 EC2 上遇到了同样的问题,终于找到了解决方案。您可以通过以下方式使用它-

python3 -m pip <install> <library>
Run Code Online (Sandbox Code Playgroud)

在 pip 从正确位置调用 pip3 之前添加 python3 -m 。您可以按如下方式检查其位置-

python3 -m pip -V
pip 19.0.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
Run Code Online (Sandbox Code Playgroud)


小智 0

您可以使用--python=python3flag 来指定要使用的 Python 版本。