1.2. 自 RHEL 8 开始的 Python 生态系统的主要区别
与 RHEL 8 相比,以下是 RHEL 9 中 Python 生态系统中的主要变化:
unversioned python
命令
python
命令的未指定版本形式(/usr/bin/python
)在 python-unversioned-command
软件包中提供。在某些系统中,默认情况下不安装此软件包。要手动安装 python
命令的未指定版本形式,请使用 dnf install /usr/bin/python
命令。
在 RHEL 9 中,python
命令的未指定版本形式指向默认的 Python 3.9 版本,它相当于 python3
和 python3.9
命令。在 RHEL 9 中,您无法配置未指定版本的命令以指向 Python 3.9 外的不同版本。
python
命令用于交互式会话。在生产环境中,建议明确使用 python3
、python3.9
或 python3.11
。
您可以使用 dnf remove /usr/bin/python
命令卸载未指定版本的 python
命令。
如果您需要不同的 python
或 python3
命令,您可以在 /usr/local/bin
或 ~/.local/bin
中创建自定义符号链接,或使用 Python 虚拟环境。
还提供其他未版本化的命令,如 python3-pip
软件包中的 /usr/bin/pip
。在 RHEL 9 中,所有未指定版本的命令都指向默认的 Python 3.9 版本。
特定于架构的 Python wheels
在 RHEL 9 上 构建的特定于体系结构的 Python wheel
新建了上游架构命名,允许客户在 RHEL 9 上构建其 Python wheel
并在非 RHEL 系统中安装它们。在以前的 RHEL 版本上构建的 Python wheel
与后期版本兼容,可以在 RHEL 9 上安装。请注意,这仅影响包含 Python 扩展的 wheel
,这些扩展针对每个架构构建,而不影响包含纯 Python 代码的 Python wheels
,这不是特定于架构的 Python wheel。