6.5.4. pyproject RPM マクロを使用した Python プロジェクトのパッケージ化
pyproject.TOML または setup.py ファイルを使用する Python プロジェクトを、CodeReady Linux Builder (CRB) リポジトリーから pyproject RPM マクロを使用して RPM パッケージにパッケージ化します。
6.5.4.1. Python パッケージング用の pyproject RPM マクロ リンクのコピーリンクがクリップボードにコピーされました!
pyproject RPM マクロを使用して、Python プロジェクトを RPM パッケージにパッケージ化します。これらのマクロは、setup.py、pyproject.TOML、またはその両方でメタデータを定義し、標準化されたプロトコルを通じて標準ベースのビルドバックエンドを呼び出すプロジェクトで機能します。
アップストリーム Python プロジェクトの多くは、setup.py スクリプトに依存しなくなりました。代わりに、プロジェクトのメタデータを pyproject.TOML に保存し、setuptools、flit-core、hatchling、poetry-core などのビルドバックエンドを使用します。pyproject RPM マクロは、setup.py を直接呼び出すのではなく、標準化されたプロトコルを通じて準拠したビルドバックエンドを呼び出します。
pyproject RPM マクロは、可能な限りアップストリームメタデータを再利用します。たとえば、spec ファイルに同じ依存関係を手動でリストするのではなく、pyproject.TOML 内の build-system 要件から BuildRequires を生成できます。
pyproject-rpm-macros パッケージは、CodeReady Linux Builder (CRB) リポジトリーで入手できます。%pyproject_buildrequires マクロは、パッケージのビルド中にそのパッケージに生成された BuildRequires を追加します。CRB コンテンツは Red Hat ではサポートされていません。マクロは、新しい Python パッケージング標準に準拠するように必要に応じて更新されます。
アップストリームプロジェクトが setup.py、pyproject.TOML、またはその両方でメタデータを定義しているかどうかに関係なく、pyproject RPM マクロを使用して Python プロジェクトをパッケージ化します。