当前位置: 代码迷 >> python >> 如何使用 Sphinx autodoc 在不同目录中为 Python 模块文档使用多个路径?
  详细解决方案

如何使用 Sphinx autodoc 在不同目录中为 Python 模块文档使用多个路径?

热度:121   发布时间:2023-06-13 15:20:03.0

我正在使用 Sphinx autodoc来记录多个目录中的 Python 模块。 我已经有了每个 Python 模块的 rst 文件,并且可以在使用 Python 模块声明一个目录的路径时使用autodoc ,但我正在尝试记录来自两个不同目录的 Python 模块。 conf.py文件中,我使用了:

sys.path.insert(0, os.path.abspath("../python_modules_A"))

但想要同时拥有python_modules_Apython_modules_B的路径,因为我的模块都在两个目录中。

鉴于我的项目团队的结构,我想避免将模块重组到一个目录中,因为它们被python_modules_A的辅助函数和python_modules_A主要对象/类python_modules_B

以下是我的目录的配置方式:

sphinx_documentation_setup
  conf.py
  index.rst
  a1.rst
  b1.rst
  a2.rst
  b2.rst
python_modules_A
  a1.py
  b1.py
python_modules_B
  a2.py
  b2.py

刚刚想了个办法。 我能够通过在 automodule 指令中指定路径来解决这个问题。 例如,事先我的自动模块指令如下:

.. automodule:: a1
.. automodule:: a2

但是当我切换到

.. automodule:: python_modules_A.a1
.. automodule:: python_modules_B.a2

并将 conf.py 中的路径声明为:

sys.path.insert(0, os.path.abspath(".."))

sphinx 能够在两个目录中找到我的 python 模块。