18.2. Python のインストールおよび使用
Red Hat Enterprise Linux 8 では、Python 3 はバージョン 3.6、3.8、および 3.9 で配布され、AppStream リポジトリーの python36
、python38
、および python39
モジュールと python3.11
パッケージスイートによって提供されます。
バージョンを指定しない python
コマンドを使用して Python をインストールまたは実行すると、曖昧なためデフォルトでは動作しません。Python のバージョンを常に指定するか、alternatives
コマンドを使用してシステムのデフォルトバージョンを設定します。
18.2.1. Python 3 のインストール
設計上、python27
、python36
、python38
、python39
モジュールと python3.11
パッケージスイートを含む RHEL 8 モジュールを並行してインストールできます。
mod_wsgi
モジュールを除き、Python 3.8、Python 3.9、および Python 3.11 (各バージョン用にビルドされたパッケージを含む) を、Python 3.6 と並行して同じシステムにインストールできます。Apache HTTP サーバーの制限により、python3-mod_wsgi、python38-mod_wsgi
、python39-mod_wsgi
、または python3.11-mod_wsgi
パッケージのいずれか 1 つだけをシステムにインストールできます。
手順
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
モジュールストリームは、自動的に有効になります。Python
3.11
RPM パッケージから Python 3.11 をインストールするには、次を使用します。# yum install python3.11
Python
3.11
RPM パッケージから Python 3.11 をインストールするには、次を使用します。# yum install python3.12
検証
お使いのシステムにインストールされている Python のバージョンを確認するには、必要なバージョンの Python 固有の
python
コマンドで--version
オプションを使用します。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
Cython
拡張を Python 3.8 にインストールするには、以下を使用します。# 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-devel モジュール
または python39-devel
モジュール内の CodeReady Linux Builder (CRB) リポジトリー、または python3.11-*
パッケージを通じて配布されます。
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-*
パッケージには、python3.11-*
と同様のパッケージセットが含まれています。
CodeReady Linux Builder リポジトリーの内容は、Red Hat ではサポートされていません。
アップストリームの Python 関連のパッケージがすべて RHEL で利用できるわけではありません。
python3*-pytest
パッケージをインストールするには、次の手順を使用します。
手順
Python 3.8 以降の場合は、CodeReady Linux Builder リポジトリーを有効にします。
# subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
Python 3.8 または 3.9 の場合は、次のように、それぞれの
python3*-devel
モジュールを有効にします。# yum module enable python39-devel
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
設計上、python27
、python36
、python38
、および python39
モジュールを含む RHEL 8 モジュールを同時にインストールできます。
18.2.5. Python 2 から Python 3 への移行
開発者は、Python 2 で記述したコードを Python 3 に移行できます。
大規模なコードベースを Python 3 に移行する方法は The Conservative Python 3 Porting Guide を参照してください。
この移行が終了すると、元の Python 2 コードは Python 3 インタープリターにより解釈できるようになり、同様に Python 2 インタープリターは解釈できるままとなることに注意してください。
18.2.6. Python の使用
Python インタープリターまたは Python 関連のコマンドを実行する場合は、常にバージョンを指定します。
前提条件
- 必要なバージョンの Python がインストールされていることを確認する。
-
Python 3.11
またはPython 3.12
用のサードパーティーアプリケーションをダウンロードしてインストールする場合は、python3.11-pip または python3.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