本人在Ubuntu上安装了Python3,与Ubuntu自带的Python2共存。但当我输入指查看Python2和Python3的pip版本时,不管是pip2还是pip3,都指向了Python3 的版本,但我想pip2指向Python2,pip3指向Python3 。
$ pip -V
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
$ pip2 -V
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
$ pip3 -V
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
处理pip2:
which pip2 # 查看pip2位置,我的是 /usr/bin/pip2
vim /usr/bin/pip2 # 使用vim打开pip2文件
pip2 内容如下:
#!/usr/bin/python
# GENERATED BY DEBIAN
import sys
# Run the main entry point, similarly to how setuptools does it, but because
# we didn't install the actual entry point from setup.py, don't use the
# pkg_resources API.
from pip._internal import main
if __name__ == '__main__':
sys.exit(main())
将以上文件中的第一行 #!/usr/bin/python 改为 #!/usr/bin/python2 ,这不是一定的,要根据你的系统中Python的具体环境来修改。我的这里改成python2 是因为:
Ubuntu 自带的Python版本是 2.7 ,它的软链接名称就是python。
后来我安装了 Python3版本,复制并修改了原有软链接python,让其指向了python3,而且创建了新的软链接python3,也指向了python3。所以,我输入python或python3时,打开的是python3的环境;我输入python2的时候,打开的才是python2的环境。
上面的pip2 文件的内容也看到了,第一行指向软链接是python,所以他找到的是python3的pip,只有改变第一行指向,让他指向python2,他就可以找到 python2的pip了。