我正在尝试使用Sphinx自动为一个大型Python代码库创建API文档。
我已经尝试过使用build_modules.py和sphinx-apidoc。使用其中任何一种工具,我都能够成功地在我的输出目录中创建rst文档,用于包和顶级模块。
但是,当我使用以下命令构建时:
make html
这会给出成千上万个此类型的错误:
<autosummary>:None: WARNING: toctree contains reference to nonexisting document 'rstDocs/src.Example1.class1.method1'
针对代码库中的每个类和方法,我发现autosummary/autoclass指令正在创建toctree,它们期望每个类和方法都有rst文件。
除了警告之外,文档似乎工作正常,但我想摆脱它们,我认为可能配置有误。
我也尝试了nipype/tools,但效果差不多。
我修改了apigen.py和build_modref_templates.py,为每个“缺失”的文档创建了rst桩,其中包含适当的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 site-package文件的解决方案。
src
包文档? - Kevin Horn