sphinx-apidoc用法 - 多个源python目录

Cal*_*eng 6 python documentation python-sphinx

所以我将python源文件放在两个不同的目录中: -

例如

~/work/myproject
~/.virtualenvs/myproject
Run Code Online (Sandbox Code Playgroud)

如何使用sphinx-apidoc递归查看两个目录来生成我的reST文件?

明显,

sphinx-apidoc -o docs/source ~/work/myproject
Run Code Online (Sandbox Code Playgroud)

工作完全正常,但当我试图跑

sphinx-apidoc -o docs/source ~/.virtualenvs/myproject
Run Code Online (Sandbox Code Playgroud)

再一次,sphinx告诉我"docs/source/modules.rst已经存在,跳过"当然这是真的,因为我已经运行sphinx-apidoc过一次来生成它.

那么如何执行一次并在两个目录中搜索?

Rei*_*ees 0

根据Sphinx apidoc 文档,命令行语法为:

sphinx-apidoc [options] -o <outputdir> <sourcedir> [pathnames ...]
Run Code Online (Sandbox Code Playgroud)

更新:错误,请参阅下面@jgbarah 的评论。

这意味着如果您想在两个单独的目录中记录源文件,您可以同时传递两个目录/路径名,因此类似于:

sphinx-apidoc -o docs/source ~/work/myproject ~/.virtualenvs/myproject
Run Code Online (Sandbox Code Playgroud)

改进建议

您可以在每个项目的文档中创建一个子目录。所以像这样:

sphinx-apidoc -o docs/source/app1 ~/work/myproject1
sphinx-apidoc -o docs/source/app2 ~/work/myproject2
Run Code Online (Sandbox Code Playgroud)

使用目录树,您可以指向两个子目录:

.. toctree::
    :maxdepth: 2

    app1/index.rst
    app2/index.rst
Run Code Online (Sandbox Code Playgroud)

  • 不会。根据 [Sphinx-apidoc 手册页](http://sphinx-doc.org/man/sphinx-apidoc.html),给出的任何路径名都是要从生成中排除的路径。所以,我想这行不通…… (6认同)