我正在尝试使用 Sphinx 为大型 python 代码库自动创建 api 文档。
我尝试过使用 build_modules.py 和 sphinx-apidoc。使用任何一个,我都可以在我的输出目录中为包和顶级模块成功创建第一个文档。
但是,当我使用
make html
它给出了数千个这种类型的错误:
<autosummary>:None: WARNING: toctree contains reference to nonexisting document 'rstDocs/src.Example1.class1.method1'
对于代码库中的每个类和方法。通过一些实验,我想我发现 autosummary/autoclass 指令正在创建期望每个类和方法都有 rst 文件的目录树。
除了警告之外,文档似乎运行良好,但我想摆脱它们,我想我可能配置错误。
我也尝试过nipype/tools来达到同样的效果。
我修改了 apigen.py和build_modref_templates.py来为这些“缺失”的每个文档创建第一个存根,并根据需要使用 autoclass/autofunction/automethods。但是,构建需要相当长的时间(10 分钟),最终由于最后构建步骤中的内存错误而崩溃。
这是一个创建所有警告的示例模块 rst 文件:
src Package
===========
:mod:`src` Package
------------------
.. automodule:: src.__init__
:members:
:undoc-members:
:show-inheritance:
:mod:`Example1` Module
------------------------------------
.. automodule:: src.Example1
:members:
:undoc-members:
:show-inheritance:
:mod:`Example2` Module
------------------
.. automodule:: src.Example2
:members:
:undoc-members:
:show-inheritance:
感谢您提供有关如何解决这些警告的任何建议!我想远离任何涉及修改 sphinx 站点包文件的解决方案。