使用 toctree 进行自动摘要不会为方法创建文档

kes*_*mit 7 python python-sphinx autodoc numpydoc toctree

我正在使用带有 numpydoc 扩展和自动摘要的 sphinx。经过一些实验,我将以下选项添加到我的 conf.py 文件中。

autosummary_generate = True
numpydoc_show_class_members = False
Run Code Online (Sandbox Code Playgroud)

这为我引用的每个类提供了一个新文件,如下所示,它还创建了所有属性和方法的汇总表。

.. autosummary::
   :toctree: generated/
   :nosignatures:

   MyClass
Run Code Online (Sandbox Code Playgroud)

问题是,虽然文档字符串的第一行有一个方法的摘要表,但方法的名称没有链接到任何内容。如何获取方法的文档字符串来创建自己的文件(或者至少在与类相同的文件中生成文档)?

Ger*_*ges 1

首先,确保在您的 conf.py 文件中,字符串“sphinx.ext.autodoc”和“sphinx.ext.autosummary”位于扩展列表中。

其次,您可以在generate/目录中手动创建名为mymodule.MyClass.rst的文件,如下所示:

mymodule.MyClass
================

.. currentmodule:: mymodule

.. autoclass:: MyClass
Run Code Online (Sandbox Code Playgroud)

或者,如果您有很多类,您可以使用 sphinx-autogen 将其自动化。您可以从终端运行它(使用与conf.py文件相同的cd),如下所示:

sphinx-autogen *.rst