如何使用sphinx autodoc在不同的目录中使用python模块文档的多个路径?

时间:2017-02-13 18:41:39

标签: python documentation python-sphinx

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

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

但是希望有一个python_modules_A和python_modules_B的路径,因为我的模块在两个目录中。鉴于我的项目团队的结构,我想避免将模块重组为一个目录,因为它们由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

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

刚刚找到了解决方案。我能够通过在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模块。