在 pyproject.toml 的动态字段中使用 python 脚本生成的值

2024-05-11

我试图找到一种使用 pyproject.toml 内的 python 脚本生成的值的方法。例如,假设我们有一个函数random_version。我正在使用 setuptools 来构建包。

import random

def random_version():
    rand_ver = random.randint(1,10)

    return rand_ver

现在有一个versionpyproject.toml 文件中的字段,输出random_version使用函数。现在我的想法是编写一个脚本来编辑 pyproject.toml 文件并将随机值放入版本字段中。有没有更好的方法来做到这一点?


首先确保设置version as dynamic in the pyproject.toml file https://packaging.python.org/en/latest/specifications/declaring-project-metadata/#dynamic:

pyproject.toml

[build-system]
build-backend = "setuptools.build_meta"
requires = ["setuptools"]

[project]
name = "MyProject"
# ...
# version field should not be set here, but listed as dynamic
dynamic = [ "version" ]

那么你需要一个setup.py的脚本version only:

setup.py

import setuptools
import random

def random_version():
    rand_ver = random.randint(1,10)
    return rand_ver

setuptools.setup(
    version=random_version(),
    # everything else is in `pyproject.toml`
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 pyproject.toml 的动态字段中使用 python 脚本生成的值 的相关文章

随机推荐