Aar*_*ron 9 python python-sphinx
我有一个包裹:
foo.py有一个Foo类.在__init__.py中我导入类Foo,以便用户可以执行以下操作:
from foo import Foo
Run Code Online (Sandbox Code Playgroud)
Sphinx正确地将Foo记录为foo.foo.Foo,这是正确的,但却让用户感到困惑.如何让Sphinx将其记录为foo.Foo?
获得与正确模块关联的整体模块文档也很重要.
Sphinx记录了一些名为:
..module:: module.name
Run Code Online (Sandbox Code Playgroud)
但是当我在foo.py文件的第一个评论中使用它时,文档仍然归于foo.foo.
该属性的值__module__是定义类/函数/方法的模块的名称(请参阅https://docs.python.org/2.7/reference/datamodel.html)。该属性是可写的,因此可以在 __init__.py 中重新定义:
Foo.__module__ = "foo"
Run Code Online (Sandbox Code Playgroud)
现在,如果您使用.. automodule:: foo,类的限定名称Foo将显示foo.Foo在生成的模块文档中。
作为 -fiddle 的替代方案__module__,您可以使用autoclass代替automodule。
.. autoclass:: foo.Foo将产生想要的输出。