自动生成所有Python软件包内容的文档

发布于 2021-01-29 18:18:06

我正在尝试使用Sphinx为我的代码库自动生成基本文档。但是,我很难指示Sphinx递归扫描我的文件。

我有一个带有文件夹结构的Python代码库:

<workspace>
└── src
    └── mypackage
        ├── __init__.py
        │   
        ├── subpackageA
        │   ├── __init__.py
        │   ├── submoduleA1
        │   └── submoduleA2
        │   
        └── subpackageB
            ├── __init__.py
            ├── submoduleB1
            └── submoduleB2

我在中运行了sphinx-quickstart <workspace>,所以现在我的结构如下:

<workspace>
├── src
│   └── mypackage
│       ├── __init__.py
│       │
│       ├── subpackageA
│       │   ├── __init__.py
│       │   ├── submoduleA1
│       │   └── submoduleA2
│       │
│       └── subpackageB
│           ├── __init__.py
│           ├── submoduleB1
│           └── ubmoduleB2
│
├── index.rst
├── _build
├── _static
└── _templates

我已经阅读了快速入门教程,尽管我仍在尝试理解文档,但措辞的方式让我担心Sphinx假设我将为代码库中的每个模块/类/函数手动创建文档文件。

但是,我确实注意到了“
automodule”语句,并且在快速入门期间启用了autodoc,因此我希望可以自动生成大多数文档。我修改了conf.py以将src文件夹添加到sys.path中,然后修改了index.rst以使用自动模块。所以现在我的index.rst看起来像:

Contents:

.. toctree::
   :maxdepth: 2

Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

.. automodule:: alphabuyer
   :members:

我在子包中定义了许多类和函数。但是,当我跑步时:

sphinx-build -b html . ./_build

它报告:

updating environment: 1 added, 0 changed, 0 removed

而且这似乎无法导入我的包中的任何内容。查看生成的index.html在“目录:”旁边未显示任何内容。“索引”页面仅显示“
mypackage(模块)”,但单击它显示也没有内容。

您如何指导Sphinx递归解析程序包并为它遇到的每个类/方法/函数自动生成文档,而不必自己手动列出每个类?

关注者
0
被浏览
216
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    也许apigen.py可以提供帮助:https :
    //github.com/nipy/nipy/tree/master/tools。

    此工具的描述非常简单:http
    :
    //comments.gmane.org/gmane.comp.python.sphinx.devel/2912。

    或者更好的方法是使用pdoc


    更新:sphinx-apidoc实用程序已在Sphinx 1.1版中添加。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看