背景:之前写过 Mac 环境的 Python 整理,一直以来没有折腾过 Ubuntu 的 Python 环境(或者忘了),记录一下。
系统:elementary OS 5.1.7 Hera(基于 Ubuntu 18.04.6 LTS 构建)
查看当前版本以及相关路径
查看当前系统 Python3 使用的版本:
python3 -V
查看这些版本所处的目录:
python3 -c 'import sys;print(sys.path)'
不出意外的话,会有N 个版本,而对于Ubuntu 不要乱删,一般系统会使用 Python2.7(历史程序遗留),以及 Python3.X(当前系统需要),而我们则需要手动安装一个 Python3.8 或者更新的版本。
安装
由于 Ubuntu 源的滞后性,一般都需要三方 ppa:
sudo apt install software-properties-common sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update
sudo apt install python3.8
其他方式还有源码编译的方式,Python 这种安装量很大的软件一般不需要自己折腾。安装完再查看Python 版本会发现还是旧版本。
版本切换
这里需要介绍一个很神奇的包:update-alternatives,当然看名字就知道,是一个在多个软件版本间切换的工具,Linux主要靠二进制执行文件链接到 bin,很多时候我们手动去重新链接移除都繁琐而且容易出错,这才有了这种工具。
创建好两个版本的关联关系(–install 对应参数是 执行文件的链接位置 关联链名 对应二进制文件真正的执行路径 序号):
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2
接下来就可以随意切换版本了:
sudo update-alternatives --config python3
有 2 个候选项可用于替换 python3 (提供 /usr/bin/python3)。 选择 路径 优先级 状态 ------------------------------------------------------------ * 0 /usr/bin/python3.8 2 自动模式 1 /usr/bin/python3.6 1 手动模式 2 /usr/bin/python3.8 2 手动模式 要维持当前值[*]请按<回车键>,或者键入选择的编号:
相信很容易做版本选择,选完再查看版本就是自己选择的版本了。
更新 pip
只有当 Python 版本对的时候更新的 pip 才是对应的版本的新版本。命令很简单:
python -m pip install --upgrade pip
或者不放心指定版本也行:
python3.8 -m pip install --upgrade pip
其他该做啥就做啥~
关于无法使用 apt 更新的问题
ModuleNotFoundError: No module named ‘apt_pkg’
系统需要 Python3.6 作为 apt update 更新基础,所以老老实实切回 Python3.6 ~(不推荐卸载 python3-apt ,对于类似 EOS 的定制系统会丢失很多系统包)
以上;
参考:
本站由以下主机服务商提供服务支持:
呀呀
棒棒的