25

我已经安装了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只是以粗体打印,并且没有链接到该类的自动生成的文档。

尝试以下方法也无济于事:

See :class:`Seg`
Module :mod:'SegLib'
Module :mod:'SegLib.py'

编辑:将 SegLib 更改为段(感谢 iElectric!),并将 chapter1.rst 更改为:

The :mod:`segments` Module
--------------------------

.. 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"

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

4

1 回答 1

18

添加到文件的开头:

.. module:: SegLib

尝试:autoclass:对类文档使用指令。

顺便说一句:模块名称应该是小写的。

编辑: 我从阅读其他源文件中学到了很多东西

于 2009-08-25T08:41:23.580 回答