我试图记录一个有点复杂的python包,它有几个私有的子模块
即
package
+-- __init__.py "Package Initialization"
+-- _info.py "Package Info"
+-- _core.py "Packages Core members"
+-- _extra1.py "Package Extra members group 1"
那么在__init__.py
中我有:
以便所有公共成员在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,但我仍然无法找到任何帮助
我发现了问题
当我取出私有子模块时,我已经对自动生成的文件进行了重命名,autosummary生成了以下文件:
由于重构需要将其更改为:
^{pr2}$在发现这一点后,我重命名了一些文件并重新运行构建,autosummary生成的新文件链接正确。在
相关问题 更多 >
编程相关推荐