gpt4 book ai didi

python - 使用 setuptools 为 Python 项目自动生成文档

转载 作者:IT老高 更新时间:2023-10-28 21:13:56 26 4
gpt4 key购买 nike

我创建了一个使用 setuptools 并具有以下结构的演示项目:

project/
|- pizza/
| |- __init__.py
| `- margherita.py
|
|- README.rst
|- setup.cfg
`- setup.py

我正在尝试使用 Sphinx 为该项目自动生成文档。到目前为止,我已经尝试过:

# Generate a sphinx template
sphinx-quickstart
# Use default settings, except for project name, etc.
sphinx-apidoc -o source .
./setup.py build_sphinx

我觉得必须有一种更简单的方法来使用 READMEsetup.py 和文档字符串自动生成此文档。

最终,我想为另一个我也使用 Python C-api 的项目自动生成 apidocs。我找不到任何相关内容。

我的主要问题是:有没有更简单的方法来自动生成此文档?

最佳答案

要扩展 setup.py 使其包含 Sphinx 的额外命令,您可以创建自定义命令。我已经编写了一个运行 Sphinx apidoc 然后构建文档源的小示例。使用 setup.py 中定义的源的项目名称、作者、版本和位置(假设已定义)。

class Sphinx(Command):
user_options = []
description = 'sphinx'

def initialize_options(self):
pass

def finalize_options(self):
pass

def run(self):
# metadata contains information supplied in setup()
metadata = self.distribution.metadata
# package_dir may be None, in that case use the current directory.
src_dir = (self.distribution.package_dir or {'': ''})['']
src_dir = os.path.join(os.getcwd(), src_dir)
# Run sphinx by calling the main method, '--full' also adds a conf.py
sphinx.apidoc.main(
['', '--full', '-H', metadata.name, '-A', metadata.author,
'-V', metadata.version, '-R', metadata.version,
'-o', os.path.join('doc', 'source'), src_dir])
# build the doc sources
sphinx.main(['', os.path.join('doc', 'source'),
os.path.join('doc', 'build')])

然后该命令需要注册到入口点组distutils.commands。这里的命令称为 sphinx

from setuptools import setup

setup(
# ...
setup_requires = ['sphinx'],
entry_points = {
'distutils.commands': [
'sphinx = example_module:Sphinx'
]
}
)

我不知道如何处理 C 源代码,但这会让你开始。

关于python - 使用 setuptools 为 Python 项目自动生成文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21149035/

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