如何使用 Sphinx 记录特定部分的成员?

How do I document members in specific sections using Sphinx?

我正在努力弄清楚如何将我的 Python class 的特定成员的文档放在我的 Sphinx 文档的特定部分中,最好是在另一个部分中自动记录其余部分.

我有一个Pythonclass

class MyClass(object):

    def funky(self, arg):
        """Some docs."""
        ...

my/module.py 中定义,按预期工作,我可以使用

毫无问题地记录
***************************
MyModule - :mod:`my.module`
***************************

.. automodule:: my.module

.. autoclass:: MyClass
   :members:
   :undoc-members:
   :show-inheritance:

但是当我试图更好地控制我的文档的组织时,我无法使事情正常进行。具体来说,我希望在显式部分中记录一些成员(这里只显示一个,但会有几个),其余的自动记录为一个组。

但是当我尝试这个时,例如

***************************
MyModule - :mod:`my.module`
***************************

To document
===========

Things that are not yet documented.

.. automodule:: my.module

.. autoclass:: MyClass
   :members:
   :undoc-members:
   :show-inheritance:
   :exclude-members: funky

Funky things
------------

Some funky things.

.. automethod:: funky

我明白了

WARNING: don't know which module to import for autodocumenting u'funky' (try placing a "module" or "currentmodule" directive in the document, or giving an explicit module name)

但没有

的变体
.. currentmodule:: my.module
.. class:: MyClass

.. automethod:: funky

.. currentmodule:: my.module

   .. automethod:: funky

等带我去任何地方。

如何在 Sphinx 文档的特定位置自动记录 class 的一些成员?

这个有效:

.. currentmodule:: my.module

.. automethod:: MyClass.funky

您可以跳过 .. currentmodule:: 并像这样操作:

.. automethod:: my.module.MyClass.funky

第三个选项:

.. currentmodule:: my.module

.. autoclass:: MyClass   

   .. automethod:: funky