我使用 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__
属性等于模块名称的模块成员为给自动模块将被记录。这是为了防止记录导入的类或函数。如果要防止这种行为并记录所有可用成员,请设置导入成员选项。请注意,导入模块的属性不会被记录,因为属性文档是通过解析当前模块的源文件发现的。” 是否可以使用自动摘要获得相同的行为?