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

如何将外部Python函数返回值设为pyproject.toml的version字段值

解决方法

要将版本生成函数移出__init__.py并保持pyproject.toml能正确读取版本,按以下步骤修改即可:

1. 迁移版本生成逻辑到新文件

在你的包目录下创建新文件(比如pkg1/_version.py),把get_version()函数和版本属性移到这个文件里:

def get_version():
    # 你的版本生成逻辑
    return "1.2.3"  # 替换为实际的版本生成规则

__version__ = get_version()

2. 更新__init__.py(可选)

如果需要在包内通过pkg1.__version__直接访问版本号,在__init__.py中导入新文件的版本属性:

from ._version import __version__

3. 修改pyproject.toml的版本配置

更新[tool.setuptools.dynamic]下的version字段,指定版本属性所在的完整模块路径:

[tool.setuptools.dynamic]
dependencies = {file = ["requirements.txt"]}
readme = {file = ["README.md"], content_type="text/markdown"}
version = {attr = "pkg1._version.__version__"}

这样setuptools在构建包时,会自动从pkg1._version模块读取__version__属性,完全适配你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 21:35:02