Sphinx autodoc - 跨存储库的多个子包记录类

时间:2017-03-21 17:08:41

标签: python python-2.7 python-sphinx

我正在尝试使用Sphinx(1.5.3)为Python存储库创建文档,具有以下结构:

main_repo/
├── docs
├── src
|   ├── subrepo1
|   ├── subrepo2
|   └── subrepo3
└── tests

Python代码在src内构建为三个不同的Python包。此处subrepo1只是main_repo的一部分,但subrepo2subrepo3是Git子模块,链接到独立的Git回购。 Sphinx文件位于docs文件夹中:

docs
├── _build
├── conf.py
├── index.rst
├── make.bat
├── Makefile
├── _static
└── _templates

conf.py我用过

sys.path.insert(0, os.path.abspath(os.path.join('path/to/src')))

src目录的完整路径添加到sys.path,并在index.rst中添加以下指令以生成subrepo1包中一个类的文档:

.. toctree::
   :maxdepth: 2
   :caption: Contents:

.. automodule:: subrepo1.module

.. autoclass:: Class1
    :members:

此处module是包module.py中的模块subrepo1的名称,而Class1module内的类。

运行make html时出现以下错误:

/path/to/src/docs/index.rst:13: WARNING: autodoc: failed to import module   u'subrepo1.module'; the module executes module level statement and it might call sys.exit().
/path/to/src/docs/index.rst:15: WARNING: don't know which module to import for autodocumenting u'Class1' (try placing a "module" or "currentmodule" directive in the document, or giving an explicit module name)

我想在main_repo内的这三个子目录中为所有子模块和子包中的所有类生成文档,包括类构造函数和所有“公共”方法和属性。在index.rst中执行此操作的指令是什么?

0 个答案:

没有答案