使用sphinx自动记录python类,模块

时间:2009-08-25 08:23:26

标签: python documentation-generation python-sphinx

我已经安装了Sphinx来记录我正在处理的一些python模块和类。虽然标记语言看起来非常好,但我还是没有设法自动记录python代码。

基本上,我有以下python模块:

SegLib.py

其中有一个名为Seg的班级。我想在生成的sphinx文档中显示类和模块的文档字符串,并为其添加更多格式化文本。

我的index.rst看起来像这样:

Contents:

.. toctree::
:maxdepth: 2

chapter1.rst

chapter1.rst

This is a header
================
Some text, *italic text*, **bold text**

* bulleted list.  There needs to be a space right after the "*"
* item 2

.. note::
   This is a note.

See :class:`Seg`

Seg只是以粗体显示,并未与该类的自动生成文档相关联。

尝试:    请参阅:class:Seg    模块:mod:'SegLib'    模块:mod:'SegLib.py'

也没有帮助。 任何想法或良好的教程链接?

编辑:将SegLib更改为细分(感谢,iElectric!),并将chapter1.rst更改为:     :mod:segments模块     --------------------------

.. automodule:: segments.segments

.. autoclass:: segments.segments.Seg

但是,无法让sphinx直接记录类中的函数,或者更好 - 将类中的所有函数自动添加到文档中。试过

.. autofunction:: segments.segments.Seg.sid

得到了:

autodoc can't import/find function 'segments.segments.Seg.sid', it reported error: "No module named Seg"

如何使用简短命令自动记录函数和类?

乌迪

1 个答案:

答案 0 :(得分:13)

添加到文件的开头:

.. module:: SegLib

尝试对类doc使用:autoclass:指令。

BTW:模块名称应为lower_case。

编辑: I learned a lot from reading other source files