18.2. 安装和使用 Python
在 Red Hat Enterprise Linux 8 中,Python 3 在 3.6、3.3 和 3.9 版本中分发,由 python36
、python38
和 python39
模块提供,以及 AppStream 存储库中的 python3.11
和 python3.12
软件包套件。
默认情况下,使用未指定版本的 python
命令安装或运行 Python 无法正常工作,因为不确定。始终指定 Python 的版本,或使用 alternatives
命令配置系统默认版本。
18.2.1. 安装 Python 3
按照设计,您可以并行安装 RHEL 8 模块,包括 python27
、python36
、python38
和 python39
模块,以及 python3.11
和 python3.12
软件包套件。
您可以安装 Python 3.8、Python 3.9、Python 3.11 和 Python 3.12,包括同一系统上与 Python 3.6 并行构建的软件包,但 mod_wsgi
模块除外。由于 Apache HTTP 服务器的一个限制,系统中只能安装 python3-mod_wsgi
,python38-mod_wsgi
,python39-mod_wsgi
,python3.11-mod_wsgi
, 或 python3.12-mod_wsgi
软件包。
流程
要从
python36
模块安装 Python 3.6,请使用:# yum install python3
python36:3.6
模块流会自动启用。要从
python38
模块安装 Python 3.8,请使用:# yum install python38
python38:3.8
模块流会自动启用。要从
python39
模块安装 Python 3.9,请使用:# yum install python39
python39:3.9
模块流会自动启用。要从
python3.11
RPM 软件包安装 Python 3.11,请使用:# yum install python3.11
要从
python3.12
RPM 软件包安装 Python 3.12,请使用:# yum install python3.12
验证
要验证您系统中安装的 Python 版本,请使用
--version
选项以及特定于您所需版本的 Python 命令的python
命令。对于 Python 3.6:
$ python3 --version
对于 Python 3.8:
$ python3.8 --version
对于 Python 3.9:
$ python3.9 --version
对于 Python 3.11:
$ python3.11 --version
对于 Python 3.12:
$ python3.12 --version
其他资源
18.2.2. 安装其他 Python 3 软件包
Python 3.6 附加模块的软件包通常使用 python3-
前缀,Python 3.8 的软件包包括 python38-
前缀,Python 3.9 的软件包包括 python39-
前缀,Python 3.11 的软件包包括 python3.11-
前缀,Python 3.12 的软件包包括 python3.12-
前缀。安装其他 Python 软件包时始终包含前缀,如下例所示。
流程
要为 Python 3.6 安装
Requests
模块,请使用:# yum install python3-requests
要为 Python 3.8 安装
Cython
扩展,请使用:# yum install python38-Cython
要从 Python 3.9 安装
pip
软件包安装程序,请使用:# yum install python39-pip
要从 Python 3.11 安装
pip
软件包安装程序,请使用:# yum install python3.11-pip
要从 Python 3.12 安装
pip
软件包安装程序,请使用:# yum install python3.12-pip
18.2.3. 为开发人员安装其他 Python 3 工具
其他面向开发人员的 Python 工具主要通过相应的 python38-devel
或 python39-devel
模块中的 CodeReady Linux Builder (CRB)存储库发布,或 python3.11NodeStatus
或 python3.12 suit
软件包。
python3-pytest
软件包(用于 Python 3.6)及其依赖项在 AppStream 存储库中提供。
CRB 存储库提供:
-
python38-devel
模块,其包含python38-pytest
软件包及其依赖项。 -
python39-devel
模块,其包含python39-pytest
软件包及其依赖项,以及python39-debug
和python39-Cython
软件包。 python3.11-*
软件包,其包括:-
python3.11-pytest
及其依赖项 -
python3.11-idle
-
python3.11-debug
-
python3.11-Cython
-
-
python3.12 channel
软件包,其中包括一组类似的软件包,如python3.11 channel
。
红帽不支持 CodeReady Linux Builder 存储库中的内容。
并非所有与上游 Python 相关的软件包都包括在 RHEL 中。
要安装 ppython3*-pytest
软件包,请使用以下流程。
流程
对于 Python 3.8 及之后的版本,请启用 CodeReady Linux Builder 存储库:
# subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
对于 Python 3.8 或 3.9,启用相应的
python3*-devel
模块,例如:# yum module enable python39-devel
安装
python3*-pytest
软件包:对于 Python 3.6:
# yum install python3-pytest
对于 Python 3.8:
# yum install python38-pytest
对于 Python 3.9:
# yum install python39-pytest
对于 Python 3.11:
# yum install python3.11-pytest
对于 Python 3.12:
# yum install python3.12-pytest
18.2.4. 安装 Python 2
有些应用程序和脚本还没有完全移植到 Python 3,并需要 Python 2 运行。Red Hat Enterprise Linux 8 允许并行安装 Python 3 和 Python 2。如果您需要 Python 2 功能,请安装 python27
模块,该模块可在 AppStream 存储库中获得。
请注意,Python 3 是 Python 项目的主要开发方向。对 Python 2 的支持正在分阶段阶段。python27
模块的支持周期比 Red Hat Enterprise Linux 8 短。
流程
要从
python27
模块安装 Python 2.7,请使用:# yum install python2
python27:2.7
模块流会自动启用。
Python 2 附加模块的软件包通常使用 python2-
前缀。安装其他 Python 软件包时始终包含前缀,如下例所示。
要为 Python 2 安装
Requests
模块,请使用:# yum install python2-requests
要为 Python 2 安装
Cython
扩展,请使用:# yum install python2-Cython
验证
要验证安装在您的系统中的 Python 版本,请使用:
$ python2 --version
按照设计,您可以并行安装 RHEL 8 模块,包括 python27
、python36
、python38
和 python39
模块。
18.2.5. 从 Python 2 迁移到 Python 3
作为开发者,您可能想要将之前使用 Python 2 编写的代码迁移到 Python 3。
有关如何将大型代码库迁移到 Python 3 的更多信息,请参阅 保守 Python 3 移植指南。
请注意,在迁移后,原始 Python 2 代码就可以被 Python 3 解释器解释,也可以被 Python 2 解释器解析。
18.2.6. 使用 Python
在运行 Python 解释器或 Python 相关的命令时,请始终指定版本。
先决条件
- 确保所需的 Python 版本已安装。
-
如果要为 Python 3.11 或 Python 3.12 下载并安装第三方应用程序,请安装
python3.11-pip
或python3.12-pip
软件包。
流程
要运行 Python 3.6 解释器或相关命令,请使用:
$ python3 $ python3 -m venv --help $ python3 -m pip install package $ pip3 install package
要运行 Python 3.8 解释器或相关命令,请使用:
$ python3.8 $ python3.8 -m venv --help $ python3.8 -m pip install package $ pip3.8 install package
要运行 Python 3.9 解释器或相关命令,请使用:
$ python3.9 $ python3.9 -m venv --help $ python3.9 -m pip install package $ pip3.9 install package
要运行 Python 3.11 解释器或相关命令,请使用:
$ python3.11 $ python3.11 -m venv --help $ python3.11 -m pip install package $ pip3.11 install package
要运行 Python 3.12 解释器或相关命令,请使用:
$ python3.12 $ python3.12 -m venv --help $ python3.12 -m pip install package $ pip3.12 install package
要运行 Python 2 解释器或相关命令,请使用:
$ python2 $ python2 -m pip install package $ pip2 install package