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 で互換性のない 2 つのバージョン (Python 2.x および Python 3.x) が広く使用されています。RHEL 8 は、以下のバージョンの Python を提供します。

表39.1 RHEL 8 の Python バージョン

バージョンインストールするパッケージコマンドの例どのバージョン以降で利用可能かライフサイクル

Python 3.6

python3

python3pip3

RHEL 8.0

完全な RHEL 8

Python 2.7

python2

python2pip2

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 アプリケーションストリームライフサイクル」を参照してください。

Python の各バージョンは個別のモジュールで配布され、設計上、同じシステムに複数のモジュールを同時にインストールできます。

python38 モジュールおよび python39 モジュールには、python36 モジュールに提供されているシステムツール (RPM、DNF、SELinux など) へのバインディングと同じものを含めないでください。

重要

Python のインストール時、起動時、対話時にはバージョンを常に指定します。たとえば、パッケージ名またはコマンド名で、python の代わりに python3 を使用します。Python 関連のすべてのコマンドにもバージョンを含む必要があります (例: pip3pip2pip3.8、または pip3.9など)。

RHEL 8 では、バージョンを指定しない python コマンド (/usr/bin/python) は、デフォルトで利用できません。alternatives コマンドを使用して設定できます。手順については、「バージョンを指定しない Python の設定」を参照してください。alternatives コマンドを使用して加えられた変更を除き、/usr/bin/python への手動の変更は、更新時に上書きされる可能性があります。

システム管理者は、以下の理由で Python 3 を使用します。

  • Python 3 は、Python プロジェクトの主な開発方向を表します。
  • アップストリームコミュニティーでの Python 2 のサポートは 2020 年に終了しました。
  • 人気のある Python ライブラリーは、アップストリームでの Python 2 サポートを終了します。
  • お客様の Python 3 への移行を容易にするために、Red Hat Enterprise Linux 8 の Python 2 のライフサイクルが短くなっています。

開発者の場合、Python 2 と比較して Python 3 には以下の利点があります。

  • Python 3 を使用すると、表現力があり、メンテナンスが可能な正しいコードをより簡単に記述できます。
  • Python 3 で書かれたコード寿命は長くなります。
  • Python 3 には、asyncio、f-strings、高度なアンパッキング、キーワードのみの引数、例外チェーンなどの新機能があります。

ただし、レガシーソフトウェアでは、/usr/bin/python を Python 2 に設定する必要がある場合があります。この理由により、デフォルトの python パッケージは Red Hat Enterprise Linux 8 で配布されず、「バージョンを指定しない Python の設定」で説明されているように、/usr/bin/python として使用する Python のバージョンを 2 または 3 から選択できます。

重要

Red Hat Enterprise Linux 8 のシステムツールは、内部の platform-python パッケージで提供される Python バージョン 3.6 を使用します。Red Hat は、代わりに python36 パッケージを使用することを推奨します。