安装 Python 3.11 在 Ubuntu 20.04 中

本贴最后更新于 273 天前,其中的信息可能已经时移俗易

python3.11 版本说明

Python 3.11 是开源编程语言 Python 的最新主要版本之一。相比之前的 Python 3.10,它引入了各种新特性、增强功能和 Bug 修复。Python 以易用性、语言清晰度和适应性而闻名。因此,它一直是 Web 开发、科学计算、数据分析和人工智能等领域的首要选项。

以下是 Python 3.11 的一些关键变化和改进:

  1. 结构化模式匹配:新增了用于匹配和分解复杂数据结构,包括字典、集合和用户定义的对象的语法。
  2. 括号内的上下文管理器:新增语法用于更简洁、易读的方式使用上下文管理器。
  3. 改进的错误消息:错误消息更加丰富和友好,让调试和故障排除更容易。
  4. 运行时审核钩子:新的 API 允许开发者注册钩子来监视和修改 Python 程序的运行行为。
  5. Python 3.11 包括多个新的标准库模块,包括:zoneinfo 模块,提供更好的时区支持,以及 HTTP 核心模块,一个高级 HTTP 客户端库。

以上提到的 Python 3.11 特性和改进仅是所有增强中的一部分。Python 的最新版本通常包括大量的小 bug 修复和性能优化,改进的方面实在太多,这里就不详细列出。

步骤 1:安装前的准备工作

适用于 Ubuntu 22.04 或 Ubuntu 20.04 系统中安装 Python 3.11。

更新 Ubuntu

在安装 Python 3.11 之前,推荐先对 Ubuntu 进行更新,避免安装期间发生冲突。还可以确保所有软件包都是最新的:

sudo apt update
sudo apt upgrade

安装依赖

请安装以下必需的软件包:

sudo apt install ca-certificates apt-transport-https software-properties-common lsb-release -y

关于 LaunchPAD GPG 密钥

如果您此前从未从 Ubuntu 密钥服务器导入过 GPG 密钥,在「终端」中通过命令行导入 LaunchPAD PPA 的 GPG 密钥时可能会遇到问题。这个问题的主要原因在于必要的目录可能没有被创建出来,可以使用以下命令生成目录:

sudo gpg --list-keys

image

步骤 2:导入 Python LaunchPAD PPA

Ubuntu 发行版默认就安装了 Python,而且在 Python 发布新版本时它也不会更新。所以我们需要手动导入已被广泛使用的知名第三方 PPA,以便安装最新版本的 Python 3.11。

1 使用以下命令导入 GPG 密钥:

sudo gpg --no-default-keyring --keyring /usr/share/keyrings/deadsnakes.gpg --keyserver keyserver.ubuntu.com --recv-keys F23C5A6CF475977595C89F51BA6932366A755776

image

2 现在 GPG 密钥已成功导入,请使用以下命令导入 LaunchPAD PPA:

echo "deb [signed-by=/usr/share/keyrings/deadsnakes.gpg] https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/python.list

3 在继续之前,运行 APT 更新以确保新导入的 PPA 包能够刷新。

sudo apt update

推荐阅读:PPA 完全指南,如何在 Ubuntu 系统中使用 PPA

步骤 3:安装 Python 3.11

现在 Python 3.11 PPA 已成功导入,请在「终端」中运行以下命令来安装 Python 3.11:

sudo apt install python3.11

使用以下命令验证 Python 3.11 安装:

python3.11 --version

如果有需要,可以安装以下 Python 3.11 的额外附加功能模块:

一次性安装所有附加项:

sudo apt install python3.11-full

也可以分别安装:

  • Debug module:
sudo apt install python3.11-dbg
  • Developer (dev) module:
sudo apt install python3.11-dev
  • VENV(虚拟环境)module:
sudo apt install python3.11-venv
  • Distutils module:
sudo apt install python3.11-distutils
  • lib2to3 utility module:
sudo apt install python3.11-lib2to3
  • DBM.GNU module:
sudo apt install python3.11-gdbm
  • Tkinter module:
sudo apt install python3.11-tk

步骤 4:安装和升级 Python 3.11 的 Pip

对于大多数使用 Python PPA 的用户来说,只需运行以下 APT 命令即可安装 Python 3.11:

sudo apt install python3-pip

如果上述命令执行没有什么问题,那么 Pip 应该已经安装好了。但如果遇到问题需要手动重新安装,可以按照以下步骤使用 wget 命令下载 get-pip.py。

wget https://bootstrap.pypa.io/get-pip.py

文件下载好后就开始安装:

python3 get-pip.py

安装完成后,建议检查是否有更新,以确保拥有最新版本的 Pip:

python3 -m pip install --upgrade pip

可以通过以下命令验证已安装的 Pip 版本:

pip --version

使用这些命令,可以安装和升级 Python 3.11 的 Pip,从而使您能够安装其他 Python 包和库。

但是使用这种方式安装后,当我讲版本切换到 3.11 时,apt update 和 pip 都会出现问题,具体表现为 apt_pkg 模块无法找到,。

需要切换为 3.8 版本才能正常运行

在 Ubuntu 中切换默认 Python 版本

如果的 Ubuntu 系统上安装了多个版本的 Python,并想要将特定版本设置为默认版本,则可以按照以下步骤在它们之间切换:

1 需要先分别为每个 Python 版本添加符号链接,要执行此操作,请运行以下命令:

(这里写了很多版本,时有冗余的,系统不存在的版本链接不会生效,可以直接执行,不会导致问题)

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 3
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 4
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 5
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.11 6
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.12 7

每个命令末尾的数字(即 1、2、3 等)表示该版本的优先级。数字越大,优先级越高。在此示例中,Python 3.11 的优先级最高(2),而 Python 3.10 的优先级最低(1)。

为每个 Python 版本添加符号链接

设置和切换 python3 默认版本

如果在 Ubuntu 系统中安装了多个版本的 Python3,并且只想将一个版本设置为默认版本,那么您需要执行一些额外的步骤,如图所示。

2 需要先分别为每个 Python 版本添加符号链接,要执行此操作,请运行以下命令:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 8
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 11

image

3 要切换到不同的 Python 版本,可以在以下命令中输入要选择的相应数字:

sudo update-alternatives --config python

如果您想将 Python 3.11 设置为 Ubuntu 的 默认版本,需要输入数字 2(根据您系统的实际情况选择)。

image

上图的输出意味着 Python 3.11 已被设置为默认版本。通过按照这些步骤,您可以轻松地在 Ubuntu 系统中切换不同 Python 版本。

4 要切换到不同的 Python3 版本,可以在以下命令中输入要选择的相应数字:

sudo update-alternatives --config python3

切换操作同 python 的切换,选择对应的数字就可以

切换到 python3.11 设置后,apt update 可能会失效,如果需要更新,得切换回 python3.8,具体问题我也不知道是什么导致的,尝试修复失败

参考文档:

如何在 Ubuntu 22.04 中安装 Python 3.11 - 系统极客 (sysgeek.cn)

  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    545 引用 • 672 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...