Sphinx与autodoc "重复对象描述 "警告时,将成员分组到单独的文件中。

问题描述 投票:1回答:1

我在一个模块里有一些功能,我想在文档中把它们分成两组。我有三个文件。

my_mod.rst

my_mod
======
.. automodule:: my_mod
   :no-members:

.. toctree::
   :maxdepth: 1

   my_mod/group1
   my_mod/group2

group1.rst

group1
======

.. automodule:: my_mod
   :members: add, subtract

group2.rst

group2
======

.. automodule:: my_mod
   :members: multiply, divide

我必须使用 .. automodule:: my_mod 在每个。中 my_mod.rst 所以它显示了模块docstring,并在其他文件中标识了 :members: 我想显示的内容。但是,这在生成HTML文件的时候会导致多个错误,比如。

/pathto/my_mymod.rst:2: WARNING: duplicate object description of my_mod, other instance in my_mod/group1, use :noindex: for one of them

如果我添加 :noindex: 不过,我不能再从文档的其他地方链接到这些函数,所以这对我来说不是一个解决方案。

我可以在不失去任何功能的情况下避免这些错误信息吗?另外,这似乎和我希望的一样(除了错误信息),但是多次引用同一个模块是否有潜在的陷阱?

python python-sphinx restructuredtext
1个回答
2
投票

另一种方法是使用 autofunction.

group1
======

.. currentmodule:: my_mod

.. autofunction:: add
.. autofunction:: subtract

group2
======

.. currentmodule:: my_mod

.. autofunction:: multiply
.. autofunction:: divide
© www.soinside.com 2019 - 2024. All rights reserved.