You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在pyproject.toml动态字段中使用Python脚本生成的值?

在pyproject.toml中通过Python脚本动态生成版本号(setuptools环境)

不用编写脚本修改pyproject.toml文件,直接利用setuptools的动态版本生成机制就能实现,这是更规范、更干净的方案:

实现步骤

1. 配置pyproject.toml启用动态版本

修改你的pyproject.toml,声明version为动态字段并关联版本生成函数:

[project]
name = "你的包名"
dynamic = ["version"]  # 标记version字段由外部逻辑生成

[tool.setuptools.dynamic]
version = {attr = "version.random_version"}  # 指定版本生成函数的路径:模块名.函数名

2. 编写版本生成脚本

在项目根目录创建version.py文件,放入你的版本生成逻辑(注意返回符合PEP 440规范的字符串版本号):

import random

def random_version():
    # 生成符合PEP 440的随机版本号,示例格式为0.0.x
    return f"0.0.{random.randint(1, 10)}"

方案优势

  • 无需手动修改pyproject.toml,避免文件写入操作和版本控制中的不必要变更
  • 由setuptools在构建阶段自动调用函数获取版本号,符合现代Python打包规范
  • 版本号格式遵循PEP 440,避免后续打包或依赖管理出现兼容性问题

内容的提问来源于stack exchange,提问作者d0ppL3G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 06:34:57