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
相关产品推荐
相关产品推荐

