如何高效更新Ubuntu系统中的Python版本,轻松实现开发效率的飞跃?
- 内容介绍
- 文章标签
- 相关推荐
一、痛点概述:为什么你急需升级 Ubuntu 上的 Python?
在 Ubuntu 程序中,默认自带的 Python 往往停留在 2.7 或 3.5 左右。这会导致以下常见困扰:
- 🔧 库兼容性问题许多新库只支持 Python ≥3.6。
- ⚡ 开发效率受限缺少最新语法特性让代码写起来冗长且易出错。
- 🚧 程序工具冲突程序自带的旧版 Python 被误改后Ubuntu 自身的脚本可能崩溃。
- 🔒 安全风险老版本不再收到安全补丁,潜在漏洞难以修补。
针对这些痛点,这篇文章提供三种「开发效率飞跃。
二、方法一:使用 APT 包管理器直接安装或升级到指定版本
步骤 1 – 检查当前 Python 版本
# 查看程序默认 python3
python3 --version
# 示例输出:Python 3.5.2
步骤 2 – 更新软件源并安装目标版本
# 更新本地包索引
sudo apt update
# 安装常用依赖
sudo apt install -y software-properties-common curl
# 添加 “deadsnakes” PPA
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
# 安装目标 Python 版本
sudo apt install -y python3.9 python3.9-venv python3.9-dev
步骤 3 – 验证安装成功
# 查看新装的版本号
python3.9 --version
# 输出示例:Python 3.9.13
步骤 4 – 为新版本装 pip 并升级至最新
# 安装 pip
sudo apt install -y python3-pip
# 确认 pip 与 python 对应
python3.9 -m pip --version
# 升级 pip 本身
python3.9 -m pip install --upgrade pip
⚠️ 注意事项:
-
不要直接用
sudo apt remove python3删除程序自带的 Python,可能导致 Ubuntu 桌面和主要工具失效。 - 使用上述方式安装的是并行的副本。原有程序 Python 保持不变,只是为项目提供更高版本。
-
若想让某个项目默认使用新版本。请在项目根目录创建虚拟环境(
python3.9 -m venv .venv),并激活后再开发。
三、方法二:利用 update-alternatives 切换默认 python3
步骤 1 – 确保已安装目标版本
# 示例安装 Python 3.8
sudo apt install -y python3.8
步骤 2 – 注册到 alternatives 程序
# 为 /usr/bin/python3 创建一个新的候选项
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 10 \
--slave /usr/bin/pip3 pip /usr/bin/pip5
# 再添加新版本的候选项
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 20 \
--slave /usr/bin/pip3 pip /usr/bin/pip8
解释的观点是,
-
`--install` 参数结构:
`
` ` ` ` ` ` ` priority 越大越被视为默认; 这里给旧版设为10,新版设为20。话说回来, -
`--slave` 用法:
绑定对应的
PIP可保证切换时同步更新。老实说,
#
- 0 /usr/bin/python5 10 auto mode 1 /usr/bin/python5 10 manual mode 2 /usr/bin/python8 20 manual mode
Enter selection : 2
步骤4 – 验证切换结果
# 查看当前指向的解释器与pip是否匹配
python --version # 应显示新安装的版本。如 Python 0x8.
pip --version # 应对应同一版本,如 pip 20.x from ...
⚠️ 小心点:
- Apt 包管理器仍然会保留原始方法
- Apt 升级时可能会覆盖 `update-alternatives` 的配置,请记得在大规模程序升级后 检查。
- Avoid changing symlink for **system scripts** that explicitly call `/usr/bin/python` unless you know impact.
四、方法三:使用 pyenv 管理多版本——最灵活也最适合开发者的方案
export PYENVROOT="$HOME/.pyenv" export PATH="$PYENVROOT/bin:$PATH" eval "$" eval "$" source ~/.bashrc # 或 source ~/.zshrc
依赖准备
# 常见编译依赖
sudo apt update && sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite0-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev \
liblzma-dev git
="">
// 示例安装最新稳定版或指定小号如 Python 311.0:
pyenv install 311 # 自动下载源码并编译。大约需要数分钟
// 若想要多个不同小号,可一次性批量: pyenv install 38.16.0 # Python $VERSION_NUMBER pyenv install 39.13 # ...
="">
// 全局生效——所有终端默认使用此版本:
pyenv global 311
// 项目局部生效——只在当前目录下生效: pyenv local 311 # 会在该目录生成 .python-version 文件
// 临时使用——仅在当前 shell 有效: pyenv shell 311
="">
// 基于当前 pyenv version 创建 virtual environment:
python -m venv .venv # 推荐方式之一
source .venv/bin/activate # 激活后 pip 自动指向该环境
// 使用 pyenv‑virtualenv 插件创建命名空间式 venv: pyenv virtualenv 311 myproj-311 pyenv activate myproj-311
SOP 小结:
- Apt 方法适合「一次性」全局升级;不想动程序底层但需要新版运行时。
-
update‑alternatives提供「快速切换」功能,但仍受制于程序包管理器。 - P y e n v + virtual env* 是「最灵活」且「无侵入」的方案。特别适合同时维护多个项目,各自依赖不同 Python 小号时使用。
- P y e n v 能自动处理编译依赖、源码下载还有跨网站兼容,是长期维护常用方法。
- P y e n v 完全独立于程序包管理器,不会因为 Ubuntu 大更新而丢失配置。
- P y e n v 与 Docker 配合可实现 CI/CD 环境的一键复现。
- .
- .
<="" p="" sans-serif;="" style="“border-collapse:" width="“100%”">
一、痛点概述:为什么你急需升级 Ubuntu 上的 Python?
在 Ubuntu 程序中,默认自带的 Python 往往停留在 2.7 或 3.5 左右。这会导致以下常见困扰:
- 🔧 库兼容性问题许多新库只支持 Python ≥3.6。
- ⚡ 开发效率受限缺少最新语法特性让代码写起来冗长且易出错。
- 🚧 程序工具冲突程序自带的旧版 Python 被误改后Ubuntu 自身的脚本可能崩溃。
- 🔒 安全风险老版本不再收到安全补丁,潜在漏洞难以修补。
针对这些痛点,这篇文章提供三种「开发效率飞跃。
二、方法一:使用 APT 包管理器直接安装或升级到指定版本
步骤 1 – 检查当前 Python 版本
# 查看程序默认 python3
python3 --version
# 示例输出:Python 3.5.2
步骤 2 – 更新软件源并安装目标版本
# 更新本地包索引
sudo apt update
# 安装常用依赖
sudo apt install -y software-properties-common curl
# 添加 “deadsnakes” PPA
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
# 安装目标 Python 版本
sudo apt install -y python3.9 python3.9-venv python3.9-dev
步骤 3 – 验证安装成功
# 查看新装的版本号
python3.9 --version
# 输出示例:Python 3.9.13
步骤 4 – 为新版本装 pip 并升级至最新
# 安装 pip
sudo apt install -y python3-pip
# 确认 pip 与 python 对应
python3.9 -m pip --version
# 升级 pip 本身
python3.9 -m pip install --upgrade pip
⚠️ 注意事项:
-
不要直接用
sudo apt remove python3删除程序自带的 Python,可能导致 Ubuntu 桌面和主要工具失效。 - 使用上述方式安装的是并行的副本。原有程序 Python 保持不变,只是为项目提供更高版本。
-
若想让某个项目默认使用新版本。请在项目根目录创建虚拟环境(
python3.9 -m venv .venv),并激活后再开发。
三、方法二:利用 update-alternatives 切换默认 python3
步骤 1 – 确保已安装目标版本
# 示例安装 Python 3.8
sudo apt install -y python3.8
步骤 2 – 注册到 alternatives 程序
# 为 /usr/bin/python3 创建一个新的候选项
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 10 \
--slave /usr/bin/pip3 pip /usr/bin/pip5
# 再添加新版本的候选项
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 20 \
--slave /usr/bin/pip3 pip /usr/bin/pip8
解释的观点是,
-
`--install` 参数结构:
`
` ` ` ` ` ` ` priority 越大越被视为默认; 这里给旧版设为10,新版设为20。话说回来, -
`--slave` 用法:
绑定对应的
PIP可保证切换时同步更新。老实说,
#
- 0 /usr/bin/python5 10 auto mode 1 /usr/bin/python5 10 manual mode 2 /usr/bin/python8 20 manual mode
Enter selection : 2
步骤4 – 验证切换结果
# 查看当前指向的解释器与pip是否匹配
python --version # 应显示新安装的版本。如 Python 0x8.
pip --version # 应对应同一版本,如 pip 20.x from ...
⚠️ 小心点:
- Apt 包管理器仍然会保留原始方法
- Apt 升级时可能会覆盖 `update-alternatives` 的配置,请记得在大规模程序升级后 检查。
- Avoid changing symlink for **system scripts** that explicitly call `/usr/bin/python` unless you know impact.
四、方法三:使用 pyenv 管理多版本——最灵活也最适合开发者的方案
export PYENVROOT="$HOME/.pyenv" export PATH="$PYENVROOT/bin:$PATH" eval "$" eval "$" source ~/.bashrc # 或 source ~/.zshrc
依赖准备
# 常见编译依赖
sudo apt update && sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite0-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev \
liblzma-dev git
="">
// 示例安装最新稳定版或指定小号如 Python 311.0:
pyenv install 311 # 自动下载源码并编译。大约需要数分钟
// 若想要多个不同小号,可一次性批量: pyenv install 38.16.0 # Python $VERSION_NUMBER pyenv install 39.13 # ...
="">
// 全局生效——所有终端默认使用此版本:
pyenv global 311
// 项目局部生效——只在当前目录下生效: pyenv local 311 # 会在该目录生成 .python-version 文件
// 临时使用——仅在当前 shell 有效: pyenv shell 311
="">
// 基于当前 pyenv version 创建 virtual environment:
python -m venv .venv # 推荐方式之一
source .venv/bin/activate # 激活后 pip 自动指向该环境
// 使用 pyenv‑virtualenv 插件创建命名空间式 venv: pyenv virtualenv 311 myproj-311 pyenv activate myproj-311
SOP 小结:
- Apt 方法适合「一次性」全局升级;不想动程序底层但需要新版运行时。
-
update‑alternatives提供「快速切换」功能,但仍受制于程序包管理器。 - P y e n v + virtual env* 是「最灵活」且「无侵入」的方案。特别适合同时维护多个项目,各自依赖不同 Python 小号时使用。
- P y e n v 能自动处理编译依赖、源码下载还有跨网站兼容,是长期维护常用方法。
- P y e n v 完全独立于程序包管理器,不会因为 Ubuntu 大更新而丢失配置。
- P y e n v 与 Docker 配合可实现 CI/CD 环境的一键复现。
- .
- .
<="" p="" sans-serif;="" style="“border-collapse:" width="“100%”">

