How to document nested classes with Sphinx's a

2019-01-27 06:51发布

Is there any way to document a nested class with Sphinx's autodoc plugin?

In:

class A:
    class B:
    """
    class B's documentation.
    """

    # ...

I want to use autoclass or something similar in my .rst file to document A.B specifically.

I tried:

.. currentmodule:: package.module

.. autoclass:: A.B

and

.. autoclass:: package.module.A.B

without success:

/path/to/file.rst:280: WARNING: autodoc: failed to import class 'B' from module 'package.module.A'; the following exception was raised:

...

Traceback (most recent call last):
  File "/usr/lib/python3.4/site-packages/sphinx/ext/autodoc.py", line 335, in import_object
    __import__(self.modname)
ImportError: No module named 'package.module.A'; 'package.module' is not a package

Of course A is not a module; it seems like autoclass is considering anything before the last . as packages and modules.

1条回答
我想做一个坏孩纸
2楼-- · 2019-01-27 07:12

Try:

.. autoclass:: package.module::A.B

Source: https://groups.google.com/forum/#!topic/sphinx-users/IL5V7HR1ZYE

查看更多
登录 后发表回答