Ubuntu更新python
主要记录一下更新Ubuntu更新python的踩坑记录。
版本确定
Ubuntu 16.04 中安装为例,一开始的时候python3 --version

可以看到是Python 3.5.2
准备操作
1 | apt可以看作apt-get和apt-cache命令的子集,可以为包管理提供必要的命令选项。 |
Ubuntu系统自带的源都是国外的网址,国内用户在使用的时候网速比较慢。建议大家更换国内的源,这里使用阿里源,步骤如下:
- 备份现在使用的源
1 | sudo cp /etc/apt/sources.list /etc/apt/sources_init.list |
- 更换源
1 | sudo vi /etc/apt/sources.list |
- 更新添加的源
1 | sudo apt-get update |
- 更新软件
1 | sudo apt-get upgrade |
- 安装依赖
1 | sudo apt install software-properties-common |

- 添加 deadsnakes PPA 源
1 | sudo add-apt-repository ppa:deadsnakes/ppa |


更新到 python 3.8
- 安装python3.8
1 | sudo apt install python3.8 |

- 定位python位置和设置优先级
此时能看到有两个python
1 | $ which python3.8 |

- 设置默认python3指向python3.8
1 | sudo update-alternatives --config python3 |
在后面输入python版本前面的数字,然后回车即可。

此时可以看到python版本以及变成了3.8

开始踩坑
pip丢失
前面已经可以看到python版本显示3.8.9但是pip3 --version不显示没有命令

解法一
直接使用其他机器上的get-pip.py下载链接

这样就能解决问题了
解法二
通过sudo apt-get install python3-pip安装

可以看到这样安装会有错误,而且问题好像严重了

此时通过sudo apt-get install python3.8-distutils来解决上述问题,注意python3.8-distutils中的python版本问题

此时再看pip3 --version会发现问题变化了

然后去修改一下sudo vi /usr/bin/pip3内容
将原来的
1 | from pip import main |
改成
1 | from pip import __main__ |
此时能看到pip3 --version会有版本显示,但是这样pip list会报错


建议使用解法1
python永久换源
- 手动
配置文件位置
1 | C:\Users\admin\AppData\Roaming\pip\pip.ini |
系统搜索找打pip.ini的位置(我的电脑是在 C:\Users\admin\AppData\Roaming\pip\pip.ini其他电脑也是在类似的位置),然后用记事本打开,将下面的内容替换掉文件中原有的内容:
1 | [global] |
- 自动
终端执行
1 | pip config set global.index-url https://pypi.douban.com/simple/ |
- 升级
1 | python -m pip install --upgrade pip |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Valen的博客!

