当前位置: 首页 > 面试题库 >

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

缑赤岩
2023-03-14
问题内容

我正在尝试使用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递归解析程序包并为它遇到的每个类/方法/函数自动生成文档,而不必自己手动列出每个类?


问题答案:

也许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版中添加



 类似资料:
  • 本文向大家介绍python根据文章标题内容自动生成摘要的实例,包括了python根据文章标题内容自动生成摘要的实例的使用技巧和注意事项,需要的朋友参考一下 text.py 方法一:根据标题内容生成摘要 方法二:根据内容生成摘要 以上这篇python根据文章标题内容自动生成摘要的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 我希望卸载Python2.7和所有连接到它的包。我最初从官方网站安装Python,并使用pip install命令安装所有软件包。从控制面板卸载Python是否也会自动卸载所有软件包? 我想卸载Python的原因是,我想使用Anaconda,以便能够更轻松地管理包,并且能够安装Python2和Python3,以便在它们之间来回切换。

  • 为了重现我的问题,可以简单地使用这个最小的生成器: 我的项目回购是:(工作区是一个空文件) 生成文件是 声明的输出“My lib/file.cpp”不是由GenRule创建的。这可能是因为genrule实际上没有创建此输出,或者因为输出是一个目录,并且genrule是远程运行的(注意,只有声明的文件输出的内容是从远程运行的genrules复制的) 问题(B),处理cc_library()部分 我不

  • 我使用PDE产品配置构建了一个equinox服务器应用程序。由于它是一个服务器应用程序,我想立即启动所有捆绑包。启动配置提供“默认自动启动:”选项。我没有为。 我为我们的客户提供了x种不同的产品配置。每个客户都有自己的功能,具体取决于主要软件功能。每个产品配置都基于客户功能,实际上是一种非常简单的清洁方式。但是,由于我想启动所有捆绑包,我必须使用将所有捆绑包添加到产品配置中。 当我从软件中添加或删

  • 本文向大家介绍nginx在docker容器中自动生成配置文件,包括了nginx在docker容器中自动生成配置文件的使用技巧和注意事项,需要的朋友参考一下 公司在搭建docker自动化部署时,需要制作一个nginx镜像在其docker run时通过外部指定环境变量使得容器中的配置文件自动生成,不需要再到容器里改配置文件。 实现思路 最后运行的命令大概是这样: 这里的脚本会代替dockerfile中

  • 问题内容: 我在Windows机器上安装Python软件包(特别是JPype1 0.5.7)时遇到问题,并且想用Christoph Gohlke的Window二进制文件安装它。(根据我的经验,这减轻了许多其他软件包安装的麻烦。) 但是,尽管Christoph过去曾经提供.exe文件,但最近看来他是在上载.whl文件。 http://www.lfd.uci.edu/~gohlke/pythonlib