pip安装

有时候电脑或服务器里需要安装多个版本的Python,比如Python2.7、Python3.5。同时存在多个版本的Python,也就可能存在多个版本的pip。我用的使Ubuntu16.04。

pip安装最简单的方法

sudo apt-get install python-pip 或 sudo apt-get install python3-pip

另一种方法

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

如果你要为Python3.5安装pip,就把上面命令换成:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3.5 get-pip.py  #其他版本也一样

其实到这已经成功安装指定版本Python对应的pip,如果只为安装pip则下一步可以不看。

查看pip指向的python版本

pip -V
pip2 -V
pip3 -V

可能pip对应的是Python3.5,pip3对应的也是Python3.5。如果想让pip对应Python2.7,pip3对应Python3.5怎么办呢?
进入下面目录:

cd /usr/local/bin  或  /home/feng/.local/bin

可能会发现好多pip文件,比如pip、pip2、pip2.7、pip3、pip3.5等等。打开对面想修改的pip版本

#!/usr/bin/python3
# -*- coding: utf-8 -*-

import re
import sys
#from pip._internal.cli.main import main
from pip import main
if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

看第一行,第一行指定了这个脚本对应的python版本,如果想把pip对应的python版本改为2.7的,只需修改python为python2.7即可。
修改保存后执行:

pip -V

若出现下面提示

Traceback (most recent call last):
  File "/home/feng/.local/bin/pip2", line 5, in <module>
    from pip._internal.cli.main import main
ImportError: No module named _internal.cli.main

可能说明修改后的python没有安装pip包,使用第一步的方法安装pip包。若还是无法解决,进行如下修改:

#from pip._internal.cli.main import main
from pip import main
if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(main())
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐