第9章 Python の使用

9.1. Python の概要

Python は、オブジェクト指向、命令、機能、手順などの複数のプログラミングパラダイムをサポートする、高レベルのプログラミング言語です。Python は動的なセマンティクスを持ち、汎用プログラミングに使用できます。

Red Hat Enterprise Linux では、システムツールを提供するパッケージ、データ分析または Web アプリケーションのツールなど、システムにインストールされている多くのパッケージが Python で記述されています。このパッケージを使用できるようにするには、python パッケージがインストールされている必要があります。

9.1.1. Python のバージョン

Python で互換性のない 2 つのバージョン (Python 2.x および Python 3.x) が広く使用されています。

RHEL 8 は、以下のバージョンの Python を提供します。

バージョンインストールするパッケージコマンドの例提供後ライフサイクル

Python 3.6

python3

python3, pip3

RHEL 8.0

完全な RHEL 8

Python 2.7

python2

python2, pip2

RHEL 8.0

より短い

Python 3.8

python38

python3.8, pip3.8

RHEL 8.2

より短い

サポート期間の詳細は、「Red Hat Enterprise Linux のライフサイクル」および「Red Hat Enterprise Linux 8 アプリケーションストリームライフサイクル」を参照してください。

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

python38 モジュールには、システムツール (RPM、DNF、SELinux など) にバインドされる、python36 モジュール向けに提供されているのと同じバインディングは含まれないことに留意してください。

重要

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

バージョンを指定しない python コマンド (/usr/bin/python) は、RHEL 8 ではデフォルトで利用できません。alternatives コマンドを使用して設定できます。手順については、「Configuring the unversioned 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 から選択できます。

9.1.2. 内部 の platform-python パッケージ

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


このページには機械翻訳が使用されている場合があります (詳細はこちら)。