Python 带有目录树的自动摘要未创建方法的文档

Python 带有目录树的自动摘要未创建方法的文档,python,python-sphinx,autodoc,toctree,numpydoc,Python,Python Sphinx,Autodoc,Toctree,Numpydoc,我正在使用sphinx和numpydoc扩展以及自动摘要。经过一些实验,我向conf.py文件添加了以下选项 autosummary_generate = True numpydoc_show_class_members = False 这为下面引用的每个类提供了一个新文件,它还创建了一个包含所有属性和方法的汇总表 .. autosummary:: :toctree: generated/ :nosignatures: MyClass 问题是,虽然有一个方法的摘要表,它的

我正在使用sphinx和numpydoc扩展以及自动摘要。经过一些实验,我向conf.py文件添加了以下选项

autosummary_generate = True
numpydoc_show_class_members = False
这为下面引用的每个类提供了一个新文件,它还创建了一个包含所有属性和方法的汇总表

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

   MyClass

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

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

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

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

.. currentmodule:: mymodule

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

斯芬克斯autogen*.rst


1) 是因为没有链接,还是应该是链接目标的文件丢失了?2) 我希望看到的不是方法的摘要表,而是
autosummary
指令中列出的类的摘要表。我有什么误解吗?它正在为MyClass生成一个文件,其中包含一个包含所有属性和方法的autoclass指令,但这就是它的结束。生成的HTML文件包含类文档字符串以及属性和方法的摘要表,但没有为这些方法生成文档。似乎该文件中需要另一个:toctree:,才能生成完整的树。请参阅我在2013年1月31日20:01的评论,答案如下:。这可能会有帮助。好的,这确实有帮助。我在conf.py中使用了autodoc_default_flags=['members'、'undoc members'、'show heritation'、'inheritatedmembers'],我更接近我所需要的。所以我想,如果我只想为一个类使用生成的文档,我可以使用带有目录树的autosummary,它会将所有文档放在一个文件中。但是,如果我想为一个大类将方法文档拆分为单独的文件,那么我必须使用autosummary指令手动创建一个类rst文件,并让它为方法生成存根文件,对吗?我刚刚注意到熊猫就是这样做的。它们有一个手工编写的api.rst,并显式引用类方法。然后他们使用:toctree:创建存根。