6.5.4. 使用pyproject RPM宏打包Python项目


通过使用CodeReady Linux Builder (CRB)存储库中的pyproject RPM宏,将使用pyproject.tomlsetup.py文件的Python项目打包成RPM包。

6.5.4.1. 用于Python打包的pyproject RPM宏

通过使用 pyproject RPM 宏将 Python 项目打包成 RPM 包。这些宏与在 setup.pypyproject.toml 或两者中定义元数据的项目一起工作,并通过标准化协议调用基于标准的构建后端。

许多上游Python项目不再依赖setup.py脚本。相反,它们将项目元数据存储在 pyproject.toml 中,并使用构建后端,例如setuptoolsflit-corehatchlingpoetry-corepyproject RPM 宏通过标准化协议调用任何兼容的构建后端,而不是直接调用 setup.py

pyproject RPM宏尽可能重用上游元数据。例如,他们可以从 pyproject.toml 中的构建系统需求中生成 BuildRequires,而不是在规范文件中手动列出相同的依赖项。

pyproject-rpm-macros 软件包在 CodeReady Linux Builder (CRB) 存储库中提供。%pyproject_buildrequires 宏在程序包生成期间在该程序包上添加生成的 BuildRequires。红帽不支持 CRB 内容。宏会根据需要更新,以遵循新兴的Python封装标准。

使用 pyproject RPM 宏来打包 Python 项目,无论上游项目是在 setup.py 中定义元数据,还是在 pyproject.toml 中定义元数据,抑或两者兼而有之。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部