指向导入成员文档的Sphinx自动摘要链接

2024-09-17 19:44:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图记录一个有点复杂的python包,它有几个私有的子模块

package
 +-- __init__.py "Package Initialization"
 +-- _info.py "Package Info"
 +-- _core.py "Packages Core members"
 +-- _extra1.py "Package Extra members group 1"

那么在__init__.py中我有:

^{2}$

以便所有公共成员在package命名空间中都可用 但是,当我在sphinx中使用autosummary来记录我的包时,即

.. automodule:: package

Core Functions
--------------
.. autosummary::
    :toctree: reference/

    funcA
    funcB

Core Classes
------------
.. autosummary::
    :toctree: reference/

    classA
    classB

Extra 1 Functions
-----------------
.. autosummary::
    :toctree: reference/

    funcE1A
    funcE1B
    funcE1C

它为reference/package.member生成autodoc文件以及摘要表,但是如果我将文档更改为,则无法为每个成员创建从摘要表到主文档页的链接

.. automodule:: package

Core Functions
--------------
.. currentmodule:: package._core
.. autosummary::
    :toctree: reference/

    funcA
    funcB

Core Classes
------------
.. currentmodule:: package._core
.. autosummary::
    :toctree: reference/

    classA
    classB

Extra 1 Functions
-----------------
.. currentmodule:: package._extra1
.. autosummary::
    :toctree: reference/

    funcE1A
    funcE1B
    funcE1C

它生成指向文档页面的链接,但是这些页面现在被命名为reference/package.private_submodule.member,而不是reference/package.member

我希望将主文档页面保留为reference/package.member,并自动生成指向这些页面的链接。然而,尽管我进行了多次搜索并浏览了文档https://www.sphinx-doc.org/en/master/usage/extensions/autosummary.html,但我仍然无法找到任何帮助


Tags: 文档pycorepackage链接页面functionsextra
1条回答
网友
1楼 · 发布于 2024-09-17 19:44:48

我发现了问题

当我取出私有子模块时,我已经对自动生成的文件进行了重命名,autosummary生成了以下文件:

.. currentmodule:: package.submodule

由于重构需要将其更改为:

^{pr2}$

在发现这一点后,我重命名了一些文件并重新运行构建,autosummary生成的新文件链接正确。在

相关问题 更多 >