当我发现这个问题时,我自己也在为此苦苦挣扎......给出的答案并没有完全达到我想要的效果,所以我发誓当我弄清楚时会回来。 :)
为了从自动生成的标题中删除“包”和“模块”并拥有真正自动的文档,您需要在几个地方进行更改,所以请耐心等待。 p>
首先,您需要处理您的sphinx-apidoc 选项。我用的是:
sphinx-apidoc -fMeET ../yourpackage -o api
假设您从docs 目录中运行它,这将获取yourpackage 的文档并将生成的文件放在docs/api。我在这里使用的选项将覆盖现有文件,将模块文档放在子模块文档之前,将每个模块的文档放在自己的页面上,如果您的文档字符串已经有它们,则不要创建模块/包标题,并且它不会创建目录文件。
要记住的选项很多,所以我将其添加到 Makefile 的末尾:
buildapi:
sphinx-apidoc -fMeET ../yourpackage -o api
@echo "Auto-generation of API documentation finished. " \
"The generated files are in 'api/'"
有了这个,您可以运行make buildapi 来构建您的文档。
接下来,在文档的根目录下创建一个 api.rst 文件,其中包含以下内容:
API Documentation
=================
Information on specific functions, classes, and methods.
.. toctree::
:glob:
api/*
这将创建一个包含api 文件夹中所有内容的目录。
不幸的是,sphinx-apidoc 仍然会生成一个带有丑陋“yourpackage package”标题的yourpackage.rst 文件,因此我们需要最后一个配置。在您的conf.py 文件中,找到exclude_patterns 选项并将此文件添加到列表中。它应该看起来像这样:
exclude_patterns = ['_build', 'api/yourpackage.rst']
现在您的文档应该看起来与您在模块文档字符串中设计的完全一样,并且您不必担心您的 Sphinx 文档和您的代码内文档不同步!