我们有一个大型遗留项目,其中包含一些 python 代码,项目中所有组件的版本是在运行时由构建项目的构建系统设置的。我们现在需要将 python 代码与其他组件使用的相同版本打包。
该软件包当前使用以下命令存档python setup.py bdist_wheel
,没有版本控制。
问题是我们如何在构建期间将动态版本传递给 setup.py 命令。就像是:
python setup.py --version x.x.x bdist_wheel
有几个选项可以覆盖版本文件,如version.py
或version.txt
使用新版本,然后在setup.py
文件中使用它,但假设我们不能在构建过程中添加更多步骤,只能修改构建命令和 python 文件怎么能完成了吗?
其他要求:
- 如果没有传递版本,则应使用默认值。
- 该版本应该在 python 代码中可用(例如将其作为
__version__
参数__init__.py
) - 如果可能的话,应该支持使用
setup.cfg
或pyproject.toml
用于元数据配置