2009-08-25 65 views
20

我已經安裝了Sphinx以便記錄一些python模塊和我正在處理的類。雖然標記語言看起來很不錯,但我還沒有設法自動記錄Python代碼。使用sphinx自動記錄一個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只是用粗體字標出,而不是鏈接到類的自動生成的文檔。

嘗試: 請參見:類:Seg 模塊:MOD: 'SegLib' 模塊:MOD: 'SegLib.py'

沒有幫助,太。 任何想法或良好的教程鏈接?

編輯:改變SegLib給段(感謝,iElectric!),和chapter1.rst更改爲: 的:MOD:segments模塊 ---------------- ----------

.. automodule:: segments.segments 

.. autoclass:: segments.segments.Seg 

不過,不能讓獅身人面像一個類中直接記錄功能,或更好 - 一類中自動添加的所有功能的文檔。試圖

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

,並得到:

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

任何想法如何autodocument函數和類用簡短的命令?

烏迪

+0

你的'.. automodule ::'和'.. autoclass ::'指令在哪裏?請顯示你把這些放在哪裏。 – 2009-08-25 10:29:04

+1

我想你還必須確保你正在試圖編寫文件的模塊/包可以通過sphinx加載,即在python的搜索路徑中。 – codeape 2009-08-25 12:05:16

+1

你應該閱讀http://sphinx.pocoo.org/ext/autodoc.html。閱讀所有內容,所有問題都將得到解答。對於成員,請將:members:添加到autoclass指令之後。 – iElectric 2009-08-25 12:49:58

回答

12

添加到該文件的開頭:

​​

嘗試使用:AUTOCLASS:指令類文檔。

BTW:模塊名稱應該是lower_case。

編輯:I learned a lot from reading other source files

+0

thanks_but_in_which_file_should_i_put_these_directives :-)? – 2009-08-25 09:34:18

+0

在index.rst中,對於初學者。當你的文檔變得更大時,將其分割成多個文件。 – iElectric 2009-08-25 10:20:39

+0

鏈接已損壞。 – 2012-09-10 22:48:04

相關問題