在Sphinx文档生成器中,可以递归地将整个包添加到索引吗?

13 投票
1 回答
4106 浏览
提问于 2025-04-17 09:52

我想为我的项目生成文档。项目中的每个文件都有详细的说明。有没有什么方法可以快速把整个项目添加到文档索引中呢?

我希望能自动生成一些文档,尽量少花时间。我开始在index.rst文件中添加了以下内容:

.. automodule:: mymodulename
    :members:

结果似乎只记录了__init__.py文件中的内容(只是一个文档字符串)——有没有办法让我记录其他所有内容呢?我希望能把我包里定义的所有东西都加进去,包括每一个类、常量、函数等等,都能添加到相应的索引中。

这能做到吗?

1 个回答

19

你可以使用 sphinx-apidoc
根据官方文档的介绍:sphinx-apidoc 是一个自动生成 Sphinx 源文件的工具,它利用 autodoc 扩展,可以以其他自动 API 文档工具的风格来记录整个包。

使用示例可以是(从你的项目根目录开始):

$ sphinx-apidoc . --full -o doc -H 'MyProject' -A 'MyName' -V '1.0'

这样会创建一个 doc 目录,里面准备好了所有内容。
你还可以通过编辑自动生成的 conf.py 文件来调整文档的设置。

更多有用的信息可以在这里找到类似的问题

撰写回答