在 Ubuntu 20.04 上从源代码安装最新版本的 Python

介绍

Ubuntu 20.04 预装了 Python 3.8。 但是,如果需要,您可以安装另一个版本的 Python 3。 本指南解释了如何在 Ubuntu 20.04 上从源代码安装最新版本的 Python。

先决条件

一个 Ubuntu 20.04 服务器。 按照 Vultr 的最佳实践指南创建 sudo 用户并更新 Ubuntu 服务器。

1. 安装所需的包

从源代码构建 Python 需要各种第三方库和系统库。

通过 SSH 以非 root sudo 用户身份登录服务器。

打开 /etc/apt/sources.list 文件。

$ sudo nano /etc/apt/sources.list

要启用源包,请添加它们的位置,包括 URL、分发名称和组件名称。

deb-src http://archive.ubuntu.com/ubuntu/ focal main

保存文件并退出。

更新包索引。

$ sudo apt update

安装 Python 所需的系统库。

$ sudo apt -y build-dep python3

为所有可选模块安装第三方库。

$ sudo apt -y install gdb lcov libbz2-dev libffi-dev libgdbm-dev 
    libgdbm-compat-dev liblzma-dev libncurses5-dev libreadline6-dev 
    libsqlite3-dev libssl-dev lzma lzma-dev tk-dev uuid-dev zlib1g-dev

2. 从源代码构建 Python

将源存档下载到主目录。

$ cd ~
$ wget https://github.com/python/cpython/archive/refs/tags/v3.9.7.tar.gz

在撰写本文时,Python 的最新稳定版本是 3.9.7. 但是,当然,您可以随时访问 Python 发布页面 在 GitHub 上获取最新版本。

提取存档。

$ tar xzf v3.9.7.tar.gz

将工作目录更改为源目录。

$ cd cpython-3.9.7

配置源。

$ ./configure --enable-optimizations

--enable-optimizations flag 激活所有稳定优化。

构建源代码(这可能需要几分钟)。

$ make -s

-s 选项告诉 make 仅打印警告和错误。

完成后,您就有了一个适用于生产安装的 Python 3.9 二进制文件。

3.安装Python

将 Python 3.9 与 Python 3.8 并行安装比覆盖 Python 3.8 更好,因为它允许与新版本不兼容的现有程序继续运行。

$ sudo make altinstall

使用 make altinstall 代替 make install 避免用 Python 3.9 覆盖 Python 3.8。

Python 3.8 是默认的 Python 版本。 但是,您仍然像以前一样使用它,通过调用 python3, python3.8, 或者它们的绝对路径 /usr/bin/python3/usr/bin/python3.8.

$ python3 -V
$ python3.8 -V

两者都给出相同的输出。

Python 3.8.10

要使用 Python 3.9,请调用 python3.9 或者它的绝对路径 /usr/local/bin/python3.9 反而。

$ python3.9 -V

结果与此类似。

Python 3.9.7

Python 3.9 还附带了 pip,这是 Python 的软件包安装程序。

$ python3.9 -m pip -V

输出应该是这样的。

pip 21.2.3 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)

如果您确保所有现有程序都与 Python 3.9 兼容,则可以将其设为默认版本。

$ sudo ln -fs /usr/local/bin/python3.9 /usr/bin/python3

参考

在 Unix 平台上使用 Python
Python 开发人员指南

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com