Red Hat Training

A Red Hat training course is available for RHEL 8

19.2. Python のインストールおよび使用

Red Hat Enterprise Linux 8 では、Python 3 はバージョン 3.6、3.8、および 3.9 で配布され、AppStream リポジトリーの python36python38、および python39 モジュールと python3.11 パッケージスイートによって提供されます。

警告

バージョンを指定しない python コマンドを使用して Python をインストールまたは実行すると、曖昧なためデフォルトでは動作しません。Python のバージョンを常に指定するか、alternatives コマンドを使用してシステムのデフォルトバージョンを設定します。

19.2.1. Python 3 のインストール

設計上、python27python36python38python39 モジュールと python3.11 パッケージスイートを含む RHEL 8 モジュールを並行してインストールできます。

mod_wsgi モジュールを除き、Python 3.8、Python 3.9、および Python 3.11 (各バージョン用にビルドされたパッケージを含む) を、Python 3.6 と並行して同じシステムにインストールできます。Apache HTTP サーバーの制限により、python3-mod_wsgipython38-mod_wsgipython39-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 のバージョンを確認するには、必要なバージョンの 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

19.2.2. Python 3 追加パッケージのインストール

通常、Python 3.6 のアドオンモジュールを含むパッケージには python3- 接頭辞が使用され、Python 3.8 のパッケージには python38- 接頭辞が含まれ、Python 3.9 のパッケージには python39- 接頭辞が含まれ、Python 3.11 のパッケージには python3.11- 接頭辞が含まれます。以下の例にあるように、追加の 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

19.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
重要

CodeReady Linux Builder リポジトリーの内容は、Red Hat ではサポートされていません。

注記

アップストリームの Python 関連のパッケージがすべて RHEL で利用できるわけではありません。

python3*-pytest パッケージをインストールするには、次の手順を使用します。

手順

  1. Python 3.8 以降の場合は、CodeReady Linux Builder リポジトリーを有効にします。

    # subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
  2. Python 3.8 または 3.9 の場合は、次のように、それぞれの python3*-devel モジュールを有効にします。

    # yum module enable python39-devel
  3. 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

19.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
注記

設計上、python27python36python38、および python39 モジュールを含む RHEL 8 モジュールを同時にインストールできます。

19.2.5. Python 2 から Python 3 への移行

開発者は、Python 2 で記述したコードを Python 3 に移行できます。

大規模なコードベースを Python 3 に移行する方法は The Conservative Python 3 Porting Guide を参照してください。

この移行が終了すると、元の Python 2 コードは Python 3 インタープリターにより解釈できるようになり、同様に Python 2 インタープリターは解釈できるままとなることに注意してください。

19.2.6. Python の使用

Python インタープリターまたは Python 関連のコマンドを実行する場合は、常にバージョンを指定します。

前提条件

  • 必要なバージョンの Python がインストールされていることを確認する。
  • Python 3.11 用のサードパーティーアプリケーションをダウンロードしてインストールする場合は、python3.11-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 2 インタープリターまたは関連コマンドを実行するには、以下を使用します。

    $ python2
    $ python2 -m pip install package
    $ pip2 install package