【发布时间】:2012-08-25 17:45:11
【问题描述】:
我正在尝试使用 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 来为这些“缺失”的文档中的每一个创建第一个存根,并根据需要使用自动类/自动功能/自动方法。但是,构建需要相当长的时间(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 站点包文件的解决方案。
【问题讨论】:
-
你确定你有一个指向生成文档的目录树条目吗?例如到您在上面发布的
src包文档?
标签: python python-2.7 python-sphinx toctree sphinx-napoleon