如何在pyproject.toml中跨section引用变量实现版本共享?
实现pyproject.toml中Poetry与Commitizen版本跨段共享
你可以利用TOML的变量引用特性,仅在一处定义版本号,让两个配置段共享该值,以下是两种常用方案:
方案1:遵循PEP 621规范(推荐)
Python官方推荐通过[project]段定义项目核心元数据,新版本的Poetry和Commitizen均支持读取该段的版本值,配置示例如下:
[project] version = "0.1.0" [tool.poetry] # Poetry可自动读取project.version,也可显式引用 version = "${project.version}" [tool.commitizen] version = "${project.version}"
方案2:自定义共享配置段
若不想使用[project]段,可单独定义存储共享值的配置段,再通过变量引用调用:
[tool.shared] version = "0.1.0" [tool.poetry] version = "${tool.shared.version}" [tool.commitizen] version = "${tool.shared.version}"
注意:TOML变量引用需要依赖工具的支持,建议使用Poetry和Commitizen的最新版本以避免兼容性问题。
内容的提问来源于stack exchange,提问作者Tlaloc-ES
相关产品推荐
相关产品推荐

