gpt4 book ai didi

python - 让 sphinx 使用 setup.py 中的版本

转载 作者:太空狗 更新时间:2023-10-29 16:53:05 26 4
gpt4 key购买 nike

如果我执行 sphinx-quickstart,我会被问及项目的版本。

我想避免在两个地方放置我的项目版本。

如何在 python 打包世界中做到这一点?

最佳答案

最简单(也可能是最干净)的方法是定义 __version__对于顶级包的 __init__.py,然后导入该包并在 setup.py 和 Sphinx 项目的 conf.py 中读取版本

假设您的项目名为 myproject

将当前版本从 setup.py 中移出,并使其成为 myproject/__init__.py 中的变量:

myproject/__init__.py:

# import foo
# ...

__version__ = '1.5'

在您的项目的setup.py中导入myproject,并将硬编码版本替换为myproject.__version__:

setup.py:

from setuptools import setup
from myproject import __version__


project = "myproject"

setup(
name=project,
version=__version__,
# ...
)

在您的 Sphinx 项目的 conf.py 中,执行相同的操作。因此,按照以下行编辑生成的 conf.py:

docs/conf.py:

from myproject import __version__

# ...

# The short X.Y version.
version = __version__
# The full version, including alpha/beta/rc tags.
release = version

有关执行此操作的库的示例与此完全相同,请查看 requests模块( __init__.py | setup.py | conf.py )。

这将处理使用项目版本的自动生成的文本(如文档首页的链接)。如果你想在特定的自定义地方使用你的版本,你可以使用 rst_epilog动态插入 conf.py 中定义的配置值的指令。

关于python - 让 sphinx 使用 setup.py 中的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26141851/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com