使用 Sphinx 和 `sphinx.ext.autosummary` 为外部 `pybind11` 模块递归生成文档

问题描述

我在使用 Sphinx 为 python 包生成文档时遇到问题,该包包含一个使用 pybind11 生成 Python 绑定的外部 c++ 模块。

我遇到的问题是编译后的 module 包含多个 submodules,但带有 :recursive: 选项的自动摘要似乎只能找到最高级别模块的函数和类。我的印象是问题在于每个子模块没有明确的 __init__.py 文件,因为绑定都打包到一个 .so 二进制文件中。有没有办法解决这个问题?

我正在使用 Python 3.8Sphinx 3.2.1。这是我的index.rst

.. toctree::
   :hidden:

   Home page <self>
   Examples <examples>
   API reference <_autosummary/mypackage>

这是api.rst

API Reference
=============

.. autosummary::
   :toctree: _autosummary
   :template: custom-module-template.rst
   :recursive:

   mypackage

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)