【发布时间】:2014-08-20 12:46:06
【问题描述】:
我使用 Sphinx 和 autosummary 来生成 Python 软件的文档。它运行良好,但生成的 .rst 文件还列出了导入的函数和类,这不是我想要的行为。
例如带有文档字符串的包“packageex”:
"""
Package Example (:mod:`packageex`)
==================================
.. currentmodule:: packageex
.. autosummary::
:toctree:
module0
module1
"""
会产生一个文件 packageex.module0.rst 与
Module0 (:mod:`packageex.module0`)
=================================
.. currentmodule:: packageex.module0
.. rubric:: Functions
.. autosummary::
f0
f1
f2_imported
f3_imported
.. rubric:: Classes
.. autosummary::
Class0
ClassImported
有没有办法只列出模块中定义的函数和类(而不是那些导入的)?
在 autodoc (http://sphinx-doc.org/latest/ext/autodoc.html) 的文档中,有“在带有 members 选项集的 automodule 指令中,只有 __module__ 属性等于给 automodule 的模块名称的模块成员才会被记录。这是为了防止记录导入的类或函数。如果要防止这种行为并记录所有可用成员,请设置imported-members选项。请注意,导入模块的属性将不会被记录,因为属性文档是通过解析源文件发现的当前模块的。”是否可以使用自动摘要获得相同的行为?
【问题讨论】:
标签: python python-sphinx toctree