[英]pip3.4 -V refers to python2.7 installation
编辑改写的问题以减少误导
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
我得到输出
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 ,只提到了 pip。 更奇怪的是,在我的/usr/bin
文件夹中,我可以看到我的 pip3 比我的 pip3.4 二进制文件旧——这解释了为什么pip3 -V
失败
pkg_resources.DistributionNotFound: pip==1.5.6
那么交易是什么? pip3 语法是多余的,还是我的系统有问题? 我使用opensuse 13.2
在Debian中,我在/usr/local/bin中发现了三个短文件:pip; pip3; 和 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(使用 sudo)的第一个 shebang 行更改为
#!/usr/bin/python3
然后确保原始 pip 是明确的
#!/usr/bin/python2
我所有类似的困惑和错误都消失了。
我在 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)
重新安装python3-pip
(opensuse package) pip3 -V
和pip3.4 -V
产生正确的输出
pip 7.1.0 from /usr/lib/python3.4/site-packages (python 3.4)
我实际上也在这个过程中卸载了 pip2 并且奇怪地用python get-pip
( get-pip ) 重新安装了 pip2 改变了我新工作的 pip3.4 再次指向 python2 站点包。 我只是通过删除错误的 pip3.4 并创建指向 pip3 的符号链接来更改
您可以使用--python=python3
标志来指定要使用的 Python 版本。
我也面临着同样的问题,以下别名有帮助。
别名 pip3="python3 -m pip"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.