在 Ubuntu 系统上进行开发,有时你会需要比官方仓库提供更新的 Python 版本。无论是为了体验最新的语言特性,还是因为项目依赖特定版本,通过添加第三方 PPA(个人软件包归档)仓库来安装都是一个便捷的选择。本文将详细介绍如何在 Ubuntu 24.04 (Noble Numbat)、22.04 (Jammy Jellyfish) 或 20.04 (Focal Fossa) 上,通过命令终端安装 Python 3.13、3.12 或 3.11。
准备工作:更新系统与检查当前版本
在安装任何新软件之前,最佳实践是确保你的系统软件包列表是最新的,并升级现有软件。打开终端,执行以下命令:
sudo apt update && sudo apt upgrade -y
接下来,不妨先确认一下系统当前默认的 Python 版本。这能让你在安装新版本后,更清楚地了解环境的变化。通常,新安装的 Ubuntu 24.04 会自带 Python 3.12。
python3 -V

第一步:添加 DeadSnakes PPA 仓库
Ubuntu 默认的官方仓库并不总是包含最新的 Python 版本。为此,我们可以添加一个备受社区信赖的第三方仓库——deadsnakes/ppa。这个 PPA 维护了许多 Python 版本,包括较新的 3.13、3.12 以及较旧的 3.9、3.8 等。
首先,确保已安装 software-properties-common 包,它提供了管理 PPA 所需的工具。
sudo apt install software-properties-common
然后,添加 DeadSnakes PPA:
sudo add-apt-repository ppa:deadsnakes/ppa
执行此命令后,终端会显示 PPA 的详细信息,并提示你按 Enter 键确认添加。请留意并按提示操作。

第二步:安装目标 Python 版本
添加仓库后,你需要再次更新本地软件包列表,以便 APT 能够识别出新仓库中的软件包。
sudo apt update
现在,你可以选择安装你需要的 Python 版本。在安装前,可以用 apt-cache policy 命令查看某个特定版本是否可用及其详细信息。这有助于在 运维/DevOps/SRE 工作中明确软件源状态。
# 例如,检查 Python 3.13
sudo apt-cache policy python3.13

确认版本可用后,使用 apt install 命令进行安装。以下是安装不同版本的命令示例:
- 安装 Python 3.13
sudo apt install python3.13
- 安装 Python 3.12
sudo apt install python3.12
- 安装 Python 3.11
sudo apt install python3.11
你可以根据需要安装多个版本,它们会彼此共存。
第三步:安装特定版本的 Python 模块
每个安装的 Python 版本都有其对应的模块包。例如,如果你为 Python 3.12 安装了 venv 模块,那么只有 python3.12 可以使用该模块。安装命令格式为 python<version>-<module>。
例如,安装 Python 3.12 的 venv 模块:
sudo apt install python3.12-venv
以下是一些常见模块的示例(将 #.# 替换为实际的主次版本号,如 3.12):
python#.#-dev:包含用于构建 C 扩展的开发头文件。
python#.#-venv:提供标准库 venv 模块,用于创建轻量级虚拟环境。
python#.#-distutils:提供标准库 distutils 模块(正在逐步被淘汰)。
python#.#-lib2to3:提供 2to3-#.# 工具,用于将 Python 2 代码转换到 Python 3。
python#.#-gdbm:提供标准库 dbm.gnu 模块。
python#.#-tk:提供标准库 tkinter 模块(用于 GUI 编程)。
第四步:管理并设置默认 Python 3 版本
当系统存在多个 Python 3 版本时,/usr/bin/python3 这个软链接指向哪个版本,哪个就是系统默认调用的 python3。你可以使用 update-alternatives 工具来优雅地管理这个链接。
首先,查看系统已安装了哪些 python3.x 二进制文件:
ls -l /usr/bin/python*

然后,为你希望纳入管理的版本配置替代项(priority 数字越大,在自动模式下优先级越高):
# 将 Python 3.12 加入备选,优先级设为 0
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 0
# 将 Python 3.13 加入备选,优先级设为 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.13 1
配置完成后,运行以下命令交互式地选择默认版本:
sudo update-alternatives --config python3
终端会列出所有已配置的备选项,并提示你输入编号进行选择。输入对应的数字并按回车即可。

最后,验证默认版本是否已更改:
python3 -V
第五步:安装 pip(可选)
pip 是 Python 的包管理器,用于从 PyPI 安装第三方库。虽然每个 Python 版本可以有自己的 pip(例如通过 python3.13 -m ensurepip 安装),但你也可以安装系统级的 python3-pip 包,它通常会关联到当前默认的 python3 版本。
sudo apt install python3-pip
安装后,可以通过 pip3 -V 或 python3 -m pip --version 查看其版本及关联的 Python 解释器。

第六步:卸载与清理(可选)
如果你不再需要某个已安装的 Python 版本,可以将其卸载以释放空间。例如,卸载 Python 3.13:
sudo apt remove --purge python3.13
如果你决定不再使用 DeadSnakes PPA 来获取未来的更新,可以将其从系统中移除。但请注意,这样做后,通过该 PPA 安装的软件包将不会再收到更新。
sudo add-apt-repository --remove ppa:deadsnakes/ppa
移除 PPA 后,建议再次运行 sudo apt update 更新软件包列表。
结语
通过以上步骤,你应该已经成功在 Ubuntu 上安装了所需的 Python 新版本,并学会了如何管理多个版本。这种方法不仅适用于本文提到的几个版本,也为安装其他由 DeadSnakes PPA 支持的版本提供了清晰的路径。掌握这些系统层面的包管理技巧,是提升开发与运维效率的重要一环。如果在实践中遇到问题,欢迎在 云栈社区 与更多开发者交流探讨。