16.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 コマンドを使用してシステムのデフォルトバージョンを設定します。
16.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 python3python36:3.6モジュールストリームは、自動的に有効になります。python38モジュールから Python 3.8 をインストールするには、以下を使用します。# yum install python38python38:3.8モジュールストリームは、自動的に有効になります。python39モジュールから Python 3.9 をインストールするには、以下を使用します。# yum install python39python39:3.9モジュールストリームは、自動的に有効になります。Python
3.11RPM パッケージから Python 3.11 をインストールするには、次を使用します。# yum install python3.11Python
3.11RPM パッケージから Python 3.11 をインストールするには、次を使用します。# yum install python3.12
検証
お使いのシステムにインストールされている Python のバージョンを確認するには、必要なバージョンの Python 固有の
pythonコマンドで--versionオプションを使用します。Python 3.6 の場合
$ python3 --versionPython 3.8 の場合
$ python3.8 --versionPython 3.9 の場合
$ python3.9 --versionPython 3.11 の場合
$ python3.11 --versionPython 3.12 の場合:
$ python3.12 --version
16.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-requestsCython拡張を Python 3.8 にインストールするには、以下を使用します。# yum install python38-CythonPython 3.9 から
pipパッケージインストーラーをインストールするには、以下を使用します。# yum install python39-pipPython 3.11 から
pipパッケージインストーラーをインストールするには、以下を使用します。# yum install python3.11-pipPython 3.12 から
pipパッケージインストーラーをインストールするには、以下を使用します。# yum install python3.12-pip
16.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-rpmsPython 3.8 または 3.9 の場合は、次のように、それぞれの
python3*-develモジュールを有効にします。# yum module enable python39-develpython3*-pytestパッケージをインストールします。Python 3.6 の場合
# yum install python3-pytestPython 3.8 の場合
# yum install python38-pytestPython 3.9 の場合
# yum install python39-pytestPython 3.11 の場合
# yum install python3.11-pytestPython 3.12 の場合:
# yum install python3.12-pytest
16.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 python2python27:2.7モジュールストリームは、自動的に有効になります。
Python 2 用のアドオンモジュールのパッケージは、通常、接頭辞 python2- を使用します。以下の例にあるように、追加の Python パッケージのインストール時には常に接頭辞を含めます。
Python 2 の
Requestsモジュールをインストールするには、以下を使用します。# yum install python2-requestsPython 2 に
Cython拡張をインストールするには、以下を使用します。# yum install python2-Cython
検証
システムに Python バージョンがインストールされていることを確認するには、以下を使用します。
$ python2 --version
設計上、python27、python36、python38、および python39 モジュールを含む RHEL 8 モジュールを同時にインストールできます。
16.2.5. Python 2 から Python 3 への移行 リンクのコピーリンクがクリップボードにコピーされました!
開発者は、Python 2 で記述したコードを Python 3 に移行できます。
大規模なコードベースを Python 3 に移行する方法は The Conservative Python 3 Porting Guide を参照してください。
この移行が終了すると、元の Python 2 コードは Python 3 インタープリターにより解釈できるようになり、同様に Python 2 インタープリターは解釈できるままとなることに注意してください。
16.2.6. Python の使用 リンクのコピーリンクがクリップボードにコピーされました!
Python インタープリターまたは Python 関連のコマンドを実行する場合は、常にバージョンを指定します。
前提条件
- 必要なバージョンの Python がインストールされていることを確認する。
Python 3.11またはPython 3.12用のサードパーティーアプリケーションをダウンロードしてインストールする場合は、python3.11-pip または python3.12-pip パッケージをインストールします。警告root ユーザーとして
pipを使用して Python パッケージをインストールすると、ファイルがシステムの場所に配置されます。これにより、RHEL ライブラリーが上書きされ、システムが不安定になったり、サポートされているパッケージと競合したりする可能性があります。Red Hat は、システムレベルでpipを使用してインストールされたソフトウェアをサポートしていません。これらの問題を回避するには、仮想環境内でpipを使用するか、--userオプションを使用して非 root ユーザーとしてパッケージをインストールします。
手順
Python 3.6 インタープリターまたは関連コマンドを実行するには、以下を使用します。
$ python3 $ python3 -m venv --help $ python3 -m pip install package $ pip3 install packagePython 3.8 インタープリターまたは関連コマンドを実行するには、以下を使用します。
$ python3.8 $ python3.8 -m venv --help $ python3.8 -m pip install package $ pip3.8 install packagePython 3.9 インタープリターまたは関連コマンドを実行するには、以下を使用します。
$ python3.9 $ python3.9 -m venv --help $ python3.9 -m pip install package $ pip3.9 install packagePython 3.11 インタープリターまたは関連コマンドを実行するには、たとえば、以下を使用します。
$ python3.11 $ python3.11 -m venv --help $ python3.11 -m pip install package $ pip3.11 install packagePython 3.12 インタープリターまたは関連コマンドを実行するには、たとえば、以下を使用します。
$ python3.12 $ python3.12 -m venv --help $ python3.12 -m pip install package $ pip3.12 install packagePython 2 インタープリターまたは関連コマンドを実行するには、以下を使用します。
$ python2 $ python2 -m pip install package $ pip2 install package