3.2. Python 3 RPM の一般的なマクロ

SPEC ファイルでは、値をハードコーディングするのではなく、以下の Python 3 RPM のマクロ の表で説明されているマクロを常に使用します。SPEC ファイルの上に python3_pkgversion マクロを定義することで、これらのマクロで使用する Python 3 バージョンを再定義できます( 「Python パッケージ用の SPEC ファイルの説明」 を参照)。python3_pkgversion マクロを定義すると、以下の表で説明されているマクロの値は、指定された Python 3 バージョンを反映します。

表3.1 Python 3 RPM 用のマクロ

マクロ一般的な定義説明

%{python3_pkgversion}

3

他のすべてのマクロで使用される Python バージョン。Python 3.11 を使用するために 3.11 に再定義できます。

%{python3}

/usr/bin/python3

Python3 インタープリター

%{python3_version}

3.9

Python3 インタープリターの major.minor バージョン

%{python3_sitelib}

/usr/lib/python3.9/site-packages

pure-Python モジュールがインストールされている場所

%{python3_sitearch}

/usr/lib64/python3.9/site-packages

アーキテクチャー固有の拡張モジュールを含むモジュールがインストールされている場所

%py3_build

 

RPM パッケージに適した引数で setup.py build コマンドを実行します。

%py3_install

 

RPM パッケージに適した引数で setup.py install コマンドを実行します。

%{py3_shebang_flags}

s

Python インタープリターディレクティブマクロのデフォルトのフラグセット %py3_shebang_fix

%py3_shebang_fix

 

Python インタープリターディレクティブを #! %{python3} に変更すると、既存のフラグ (見つかった場合) を保持し、%{py3_shebang_flags} マクロで定義されたフラグを追加します。