16.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
命令配置系统默认版本。
16.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
# yum install python3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow python36:3.6
模块流会自动启用。要从
python38
模块安装 Python 3.8,请使用:yum install python38
# yum install python38
Copy to Clipboard Copied! Toggle word wrap Toggle overflow python38:3.8
模块流会自动启用。要从
python39
模块安装 Python 3.9,请使用:yum install python39
# yum install python39
Copy to Clipboard Copied! Toggle word wrap Toggle overflow python39:3.9
模块流会自动启用。要从
python3.11
RPM 软件包安装 Python 3.11,请使用:yum install python3.11
# yum install python3.11
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要从
python3.12
RPM 软件包安装 Python 3.12,请使用:yum install python3.12
# yum install python3.12
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
要验证您系统中安装的 Python 版本,请使用
--version
选项以及特定于您所需版本的 Python 命令的python
命令。对于 Python 3.6:
python3 --version
$ python3 --version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 Python 3.8:
python3.8 --version
$ python3.8 --version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 Python 3.9:
python3.9 --version
$ python3.9 --version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 Python 3.11:
python3.11 --version
$ python3.11 --version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 Python 3.12:
python3.12 --version
$ python3.12 --version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.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
# yum install python3-requests
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要为 Python 3.8 安装
Cython
扩展,请使用:yum install python38-Cython
# yum install python38-Cython
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要从 Python 3.9 安装
pip
软件包安装程序,请使用:yum install python39-pip
# yum install python39-pip
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要从 Python 3.11 安装
pip
软件包安装程序,请使用:yum install python3.11-pip
# yum install python3.11-pip
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要从 Python 3.12 安装
pip
软件包安装程序,请使用:yum install python3.12-pip
# yum install python3.12-pip
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.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
# subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 Python 3.8 或 3.9,启用相应的
python3*-devel
模块,例如:yum module enable python39-devel
# yum module enable python39-devel
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装
python3*-pytest
软件包:对于 Python 3.6:
yum install python3-pytest
# yum install python3-pytest
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 Python 3.8:
yum install python38-pytest
# yum install python38-pytest
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 Python 3.9:
yum install python39-pytest
# yum install python39-pytest
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 Python 3.11:
yum install python3.11-pytest
# yum install python3.11-pytest
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 Python 3.12:
yum install python3.12-pytest
# yum install python3.12-pytest
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.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
# yum install python2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow python27:2.7
模块流会自动启用。
Python 2 附加模块的软件包通常使用 python2-
前缀。安装其他 Python 软件包时始终包含前缀,如下例所示。
要为 Python 2 安装
Requests
模块,请使用:yum install python2-requests
# yum install python2-requests
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要为 Python 2 安装
Cython
扩展,请使用:yum install python2-Cython
# yum install python2-Cython
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
要验证安装在您的系统中的 Python 版本,请使用:
python2 --version
$ python2 --version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
按照设计,您可以并行安装 RHEL 8 模块,包括 python27
、python36
、python38
和 python39
模块。
16.2.5. 从 Python 2 迁移到 Python 3 复制链接链接已复制到粘贴板!
作为开发者,您可能想要将之前使用 Python 2 编写的代码迁移到 Python 3。
有关如何将大型代码库迁移到 Python 3 的更多信息,请参阅 保守 Python 3 移植指南。
请注意,在迁移后,原始 Python 2 代码就可以被 Python 3 解释器解释,也可以被 Python 2 解释器解析。
16.2.6. 使用 Python 复制链接链接已复制到粘贴板!
在运行 Python 解释器或 Python 相关的命令时,请始终指定版本。
先决条件
- 确保所需的 Python 版本已安装。
如果要为 Python 3.11 或 Python 3.12 下载并安装第三方应用程序,请安装
python3.11-pip
或python3.12-pip
软件包。警告使用
pip
作为 root 用户安装 Python 软件包,将文件放置在系统位置。这会覆盖 RHEL 库,并可能导致系统不稳定或与支持的软件包冲突。红帽不支持在系统级别使用pip
来安装软件。要避免这些问题,请在虚拟环境中使用pip
,或使用--user
选项以非 root 用户身份安装软件包。
流程
要运行 Python 3.6 解释器或相关命令,请使用:
python3 python3 -m venv --help python3 -m pip install package pip3 install package
$ python3 $ python3 -m venv --help $ python3 -m pip install package $ pip3 install package
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要运行 Python 3.8 解释器或相关命令,请使用:
python3.8 python3.8 -m venv --help python3.8 -m pip install package pip3.8 install package
$ python3.8 $ python3.8 -m venv --help $ python3.8 -m pip install package $ pip3.8 install package
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要运行 Python 3.9 解释器或相关命令,请使用:
python3.9 python3.9 -m venv --help python3.9 -m pip install package pip3.9 install package
$ python3.9 $ python3.9 -m venv --help $ python3.9 -m pip install package $ pip3.9 install package
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要运行 Python 3.11 解释器或相关命令,请使用:
python3.11 python3.11 -m venv --help python3.11 -m pip install package pip3.11 install package
$ python3.11 $ python3.11 -m venv --help $ python3.11 -m pip install package $ pip3.11 install package
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要运行 Python 3.12 解释器或相关命令,请使用:
python3.12 python3.12 -m venv --help python3.12 -m pip install package pip3.12 install package
$ python3.12 $ python3.12 -m venv --help $ python3.12 -m pip install package $ pip3.12 install package
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要运行 Python 2 解释器或相关命令,请使用:
python2 python2 -m pip install package pip2 install package
$ python2 $ python2 -m pip install package $ pip2 install package
Copy to Clipboard Copied! Toggle word wrap Toggle overflow