在Ubuntu16.04上,遇到pip下载不了模块,安装了pip也用不了的情景,很是头疼,于是找了很多资料终于解决了。
1、ubuntu 16.04将python3.5设置为默认
ubuntu 16.04自带两个python版本,一个是Python 2.7.12,另一个是Python 3.5.2 如下图:
直接在terminal中输入python,得到的版本是2.7.12,说明python2.7.12是当前系统默认,优先级高于python3.5.2,因为要用python3,所以需要将python3.5设置为默认。
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
2、python3.5.2安装pip
# 安装pip3
sudo apt-get install python3-pip
# 更新pip3,更新至最新版本的pip3
sudo pip3 install --upgrade pip
# 卸载pip3,安装pip这个指令就不要用了,只是顺便提一下
sudo apt-get remove python3-pip
接下来问题就来了,捆绑我差不多一天的时间,才解决,看图:
Traceback (most recent call last):
File "/usr/local/bin/pip", line 7, in <module>
from pip._internal.cli.main import main
File "/usr/local/lib/python3.5/dist-packages/pip/_internal/cli/main.py", line 57
sys.stderr.write(f"ERROR: {exc}")
ubuntu16.04 python3 pip升级后报错:sys.stderr.write(f"ERROR: {exc}")
这个原因导致我移植pip安装不了模块。解决办法是:
https://bootstrap.pypa.io/pip/这个网址上找到相应python版本,点开获取如下图:
在ubuntu16.04的终端上执行:
# python3
wget https://bootstrap.pypa.io/pip/3.5/get-pip.py
python3 get-pip.py
# python2
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
python get-pip.py
最后pip3 --version能打印版本即安装成功了,可以pip3安装模块了.
我觉得应该是python3版本跟pip版本不对应才出错的吧!