我正在尝试将我的软件包从setup.py
迁移到pyproject.toml
,但我不确定如何以与以前相同的方式进行动态版本控制。目前,当构建用于开发时,我可以使用环境变量传递开发版本。setup.py
文件看起来类似于以下内容:
import os
from setuptools import setup
import my_package
if __name__ == "__main__":
dev_version = os.environ.get("DEV_VERSION")
version = dev_version if dev_version else f"{my_package.__version__}"
setup(
name="my_package",
version=version,
...
)
使用pyproject.toml
文件时,有没有方法做类似的事情?
1条答案
按热度按时间muk1a3rh1#
我想要类似的东西。
不幸的是,toml不支持环境变量,我认为它也不想支持。
我已经尝试了一些自定义构建后端 Package 器,并筛选了setuptools(和setuputils3)的各个层。
我的结论是,没有比编写一个简短的构建脚本来动态编辑pyproject更简单的解决方案了。toml文件...
这种事:
对于您的其他情况(非开发),您可以“动态”拉入版本,如其他人在此回答中所述:https://stackoverflow.com/a/74514742/4126317