Red Hat Training

A Red Hat training course is available for RHEL 8

第 39 章 Python 简介

Python 是一个高级别的编程语言,它支持多个编程范例,如面向对象、需要、功能和程序范例。Python 具有动态语义,可用于通用编程。

在 Red Hat Enterprise Linux 中,很多安装在系统中的软件包,如提供系统工具的软件包、数据分析工具或者 Web 应用程序,都使用 Python 编写。要使用这些软件包,您必须安装 python* 软件包。

39.1. Python 版本

广泛使用两个不兼容的 Python 版本: Python 2.x 和 Python 3.x。RHEL 8 提供以下 Python 版本。

表 39.1. RHEL 8 中的 Python 版本

版本要安装的软件包命令示例从现在开始可用生命周期

Python 3.6

python3

python3, pip3

RHEL 8.0

full RHEL 8

Python 2.7

python2

python2, pip2

RHEL 8.0

较短

Python 3.8

python38

python3.8, pip3.8

RHEL 8.2

较短

Python 3.9

python39

python3.9, pip3.9

RHEL 8.4

较短

有关支持长度的详情,请查看 Red Hat Enterprise Linux 生命周期Red Hat Enterprise Linux 8 Application Streams 生命周期

每个 Python 版本都以一个单独的模块的形式发布,您可根据设计在同一个系统上并行安装多个模块。

python38python39 模块不包括为 python36 模块提供的对系统工具(RPM、DNF、SELinux 等等)的绑定。

重要

在安装、调用或者与之交互时,始终指定 Python 版本。例如:在软件包和命令名称中使用 python3 而不是使用 python。所有与 Python 相关的命令都应该包括版本,例如 pip3pip2pip3.8pip3.9

RHEL 8 中默认不提供未指定版本的 python 命令(/usr/bin/python)。您可以使用 alternatives 命令进行配置 ; 具体步骤请参阅 配置未指定版本的 Python。任何手动对 /usr/bin/python 的更改(使用 alternatives 命令所做的更改除外)可能会在更新后被覆盖。

作为系统管理员,使用 Python 3,理由如下:

  • Python 3 代表 Python 项目的主要开发方向。
  • 对上游社区中的 Python 2 的支持于 2020 年结束。
  • 常用 Python 库在上游社区中断了 Python 2 支持。
  • Red Hat Enterprise Linux 8 中的 Python 2 的生命周期会更短,旨在为客户更平稳地转换到 Python 3

对于开发人员,Postg 3 比 Python 2 有以下优点:

  • Python 3 可让您更轻松地编写明确、可维护和正确的代码。
  • 使用 Python 3 编写的代码将具有较长的生命周期。
  • Python 3 具有新功能,包括 asyncio、f-strings、高级解包、只关键字参数和链路例外。

但是,旧软件可能需要 /usr/bin/python 配置为 Python 2。因此,Red Hat Enterprise Linux 8 没有发布默认的 python 软件包,您可在使用 Python 2 和 3 作为 /usr/bin/python 进行选择,如 配置未指定版本的 Python 所述

重要

Red Hat Enterprise Linux 8 中的系统工具使用由内部 platform-python 软件包提供的 Python 版本 3.6。红帽建议客户使用 python36 软件包。