18.2. 安装和使用 Python


在 Red Hat Enterprise Linux 8 中,Python 3 在 3.6、3.3 和 3.9 版本中分发,由 python36python38python39 模块提供,以及 AppStream 存储库中的 python3.11python3.12 软件包套件。

警告

默认情况下,使用未指定版本的 python 命令安装或运行 Python 无法正常工作,因为不确定。始终指定 Python 的版本,或使用 alternatives 命令配置系统默认版本。

18.2.1. 安装 Python 3

按照设计,您可以并行安装 RHEL 8 模块,包括 python27python36python38python39 模块,以及 python3.11python3.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-develpython39-devel 模块中的 CodeReady Linux Builder (CRB)存储库发布,或 python3.11NodeStatuspython3.12 suit 软件包。

python3-pytest 软件包(用于 Python 3.6)及其依赖项在 AppStream 存储库中提供。

CRB 存储库提供:

  • python38-devel 模块,其包含 python38-pytest 软件包及其依赖项。
  • python39-devel 模块,其包含 python39-pytest 软件包及其依赖项,以及 python39-debugpython39-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 软件包,请使用以下流程。

流程

  1. 对于 Python 3.8 及之后的版本,请启用 CodeReady Linux Builder 存储库:

    # subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
  2. 对于 Python 3.8 或 3.9,启用相应的 python3*-devel 模块,例如:

    # yum module enable python39-devel
  3. 安装 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 模块,包括 python27python36python38python39 模块。

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-pippython3.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
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.