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

Python项目构建wheel时pyproject.toml版本号被忽略的解决方法

问题:Python包构建时指定版本号被忽略,生成wheel版本为0.0.0

我使用如下pyproject.toml构建Python项目:

[tool.poetry]
name = "my_package"
version = "1.0.0"
description = "My precious"
readme = "README.md"

[tool.poetry.dependencies]
pandas = "1.4.3"
numpy = "1.22.4"
scikit-learn = "1.1.2"
xgboost = "1.6.1"
holidays = "0.14.2"
matplotlib = "3.4.3"
matplotlib-inline = "0.1.6"
numba = "0.56.4"
shap = "0.41.0"
pytest = "7.3.1"

[tool.pytest.ini_options]
testpaths = [
    "tests"
]

[tool.poetry.build]
script = "build.py"
generate-setup-file=true

执行命令:

py -m build --wheel --outdir ..\wheels\

wheel文件生成正常,但文件名显示为:

my_package-0.0.0-py3-none-any.whl

配置里指定的1.0.0版本号被忽略。我尝试将[tool.poetry]改为[tool](因为build默认使用setuptools而非poetry),但问题未解决。

解决办法

最终通过改用符合[project]规范的pyproject.toml解决了问题。另一种可选方案是直接使用poetry构建,但当前项目依赖的xgboost(1.7.5版本之前)与poetry存在兼容性问题,无法使用该方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 23:45:04