我可以使用 Sphinx automodule 但在签名中删除模块名称吗?
Can I use Sphinx automodule but drop the module name in the signature?
我有一个模块 mod
和一些子模块 submod
并使用 .. automodule:: mod.submod
为它生成文档。
模块中元素(函数、类 等)的签名现在显示限定名称,例如 mod.submod.my_function(*args, **kwargs)
。
我希望 Sphinx 只显示函数的名称,即签名 my_function(*args, **kwargs)
.
我有什么办法可以删除签名中的前导模块和子模块吗?
是的,在 docs/mod/submod.rst
中试试这个:
.. automodule:: mod.submod
.. autofunction:: my_function
请参阅金字塔文档中的示例 HTML build and reST source。
奖励:请参阅 Cross-referencing syntax 的 Sphinx 文档:
If you prefix the content with ~
, the link text will only be the last component of the target. For example, :py:meth:~Queue.Queue.get
will refer to Queue.Queue.get
but only display get
as the link text.
通过在 conf.py
:
中设置 add_module_name
configuration 来省略函数、方法和变量之前的模块和包名称
add_module_names = False
这并不明显,因为众多 autodoc configurations that together with the sphinx-napoleon configurations 让您期待其他地方的配置。
我有一个模块 mod
和一些子模块 submod
并使用 .. automodule:: mod.submod
为它生成文档。
模块中元素(函数、类 等)的签名现在显示限定名称,例如 mod.submod.my_function(*args, **kwargs)
。
我希望 Sphinx 只显示函数的名称,即签名 my_function(*args, **kwargs)
.
我有什么办法可以删除签名中的前导模块和子模块吗?
是的,在 docs/mod/submod.rst
中试试这个:
.. automodule:: mod.submod
.. autofunction:: my_function
请参阅金字塔文档中的示例 HTML build and reST source。
奖励:请参阅 Cross-referencing syntax 的 Sphinx 文档:
If you prefix the content with
~
, the link text will only be the last component of the target. For example, :py:meth:~Queue.Queue.get
will refer toQueue.Queue.get
but only displayget
as the link text.
通过在 conf.py
:
add_module_name
configuration 来省略函数、方法和变量之前的模块和包名称
add_module_names = False
这并不明显,因为众多 autodoc configurations that together with the sphinx-napoleon configurations 让您期待其他地方的配置。