在Ubuntu16.04系统中,同事存在Python2.7及Python3.5两个版本,分别用python和python3两个命令指令。现在希望以后用python命令直接指向python3.5,所以需要执行如下指令:
sudo cp /usr/bin/python /usr/bin/python_back
复制原有python命令到python-back,如果出现问题,想换回版本,直接用下面的命令修改python_back为python就可以了
sudo mv /usr/bin/python_back /usr/bin/python
删除原来的python
sudo rm /usr/bin/python
建立python的软连接
sudo ln -s /usr/bin/python3.5 /usr/bin/python
完成上述操作在用python命令时候,默认就是python3.5版本了。
但此时使用pip命令下载Python库时会发生错误,报错代码如下:
from pip._internal.cli.main import main
ImportError: No module named _internal.cli.main
根据网上提供的解决方法去该python文件中把from pip._internal.cli.main import main改为from pip import main后,pip链接到了python2.7上,因此决定重新下载pip,命令如下:
sudo python3 get-pip.py
报错如下:
ERROR: This script does not work on Python 3.5 The minimum supported Python version is 3.6.
Please use https://bootstrap.pypa.io/pip/3.5/get-pip.py instead.
根据错误提示:
wget https://bootstrap.pypa.io/pip/3.5/get-pip.py
下载结束以后提示:
‘get-pip.py.1’ saved [1908223/1908223]
因此安装pip:
python get-pip.py.1
成功更改了Python默认的命令,并解决pip报错的bug。