如何在 Ubuntu 系统上安装特定版本 Python

你是否有使用特定版本 Python 的需求?本文中,我们介绍通过添加 deadsnakes PPA 的方式安装特定版本 Python 的步骤。该方法适用于 Ubuntu 16.04、18.04、20.04 以及 22.04 等多个 Ubuntu 版本的用户。通过创纪录的速度安装多个不同的 Python 版本,立刻开始!

什么是 PPA

Ubuntu 以及其他 Debian 系操作系统使用 apt 包管理器。apt 包管理器允许用户从多个渠道添加软件源。个人软件包库(PPA)是为 Ubuntu 用户设计的软件源,比其他第三方软件库更容易安装。PPA 通常用于发布预发布软件,以便对其进行测试。

能够安装哪些 Python 版本

这取决于我们使用何种 PPA 软件源,本教程中,我们使用 deadsnakes 的软件源。根据你的操作系统版本不同,以下的 Python 版本受到支持:

系统版本支持的 Python 版本
Ubuntu 16.04Python 2.3 – Python 2.6,Python 3.1 – Python3.4,Python 3.6 – Python3.9
Ubuntu 18.04Python2.3 – Python 2.6,Python 3.1 – Python 3.5,Python3.7 – Python3.9
Ubuntu 20.04Python3.5 – Python3.7,Python3.9
Ubuntu 22.04Python3.7 – Python3.9,Python3.11
数据截止至 2023 年 7 月

deadsnakes PPA 主页描述了最新的有关 Python 版本的支持情况。

安装步骤

你需要拥有系统的 root 权限才能通过 apt 包管理器通过 PPA 的方式安装特定版本的 Python。根据互联网连接质量不同,在部分地区使用第三方源的连接会偏慢。

添加 PPA 软件源

首先,我们需要将 deadsnakes PPA 软件源添加至系统包管理器中:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update

执行上述命令后,apt 包管理器将重新加载最新的包目录。

安装对应 Python 版本

根据对应 PPA 主页的描述确定好要安装的 Python 版本后,就可以使用类似于下面的命令进行安装:

sudo apt-get install python#.#

比如,deadsnakes 源支持在 Ubuntu 22.04 上安装 Python 3.9,我们执行:

sudo apt-get install python3.9

即可在系统中安装对应的 Python 版本。安装好后,通过 python3.9 即可运行对应的 Python 版本程序。

其他包是做什么用的

细心的同学可能注意到除了名为 python#.# 的包之外,一些 PPA 源还提供了其他名称的包。我们列举一些常用的软件包的作用:

  • python#.#-dev:包括用于构建 C 语言拓展的开发用头文件,安装一些软件包的时候可能需要用到
  • python#.#-venv:提供了标准库中的 venv 模块
  • python#.#-distutils:提供了标准库中的 distutils 模块
  • python#.#-lib2to3:提供了标准库中的 lib2to3 模块,即 2to3-#.# 功能
  • python#.#-gdbm:提供了标准库中的 dbm.gnu 模块
  • python#.#-tk:提供了标准库中的 tkinter 模块

一些小问题

pip 去哪里了?

一些同学在安装特定版本的 Python 软件后可能会遇到找不到 pip 包管理器的问题。如果遇到问题不要慌张,执行下述命令即可:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

上述命令能够将 pip 的安装脚本下载到当前目录中,然后,执行下述命令即可:

python#.# get-pip.py

其中,python#.# 是你安装的 Python 版本,如:

python3.9 get-pip.py

安装好之后,你就可以使用类似下述命令的方式运行特定版本 Python 下的 pip 了(仍以 Python 3.9 为例):

python3.9 -m pip

也可以编译安装……

在博客文章《如何为树莓派 Raspberry Pi 升级 Python 版本》中,我们介绍了通过源代码编译安装特定版本 Python 软件的步骤。尽管该篇文章是为树莓派 Raspberry Pi 编写,但同样适用于 Ubuntu 系统用户。如果你对于安全性要求较高或者需要安装特定版本号的 Python,不妨尝试通过源代码编译的方式进行安装。