2011-07-11 45 views
4

我試圖記錄與Doxygen的一個Python模塊 - 但它似乎__init__.py文件的存在是造成問題doxygen的扼流圈__init__.py文件

目前__init__.py文件是空的(我曾經嘗試添加里面的評論像

## Nothing here 

但沒有成功)。模塊的命名空間都沒有解決的Doxygen的一面 - 如果下面是我的文件:

## @package stuff 
# @author me 
# Description 
# 
# Some more description 

## A class that does whatever 
class whatever: 
    ## A method that does stuff 
    def dostuff(self): 
     pass 

它只會拿起「說明」和「一些更多的描述」字符串。即使文件中的任何類不包含__init__方法(認爲可能存在命名衝突),doxygen也不會接收模塊中的任何內容。

我試過在Doxyfile中使用各種'EXCLUDE'指令,但沒有任何工作。

有沒有人遇到過這個問題?在刪除__init__.py文件一切工作正常 - 但這是一個遠不是最佳的解決方案。

+0

Doxygen的不是Python文檔的最佳工具。考慮使用Sphinx(或任何其他以Python爲中心的文檔生成器,真的;避免不使用docstrings的)。 –

+0

是啊我考慮過使用獅身人面像 - 我想我必須學會*太*。我希望Doxygen可以抽出一些快速課程文檔......但我想這太容易了。我現在看到的實際上看起來可能是一個錯誤。 – Marm0t

回答

2

我有完全相同的問題,我發現問題是與包的命名。給出的名字需要完全合格。否則,您正在爲一個新包創建文檔,在這種情況下,名稱爲stuff,但您的課程將位於未公開的包中,除非您將EXTRACT_ALL設置爲「是」將被隱藏。

所以假設你的文件被稱爲stuff.py,是在一個叫做與__init__.py然後沿着stuff.py應該mypackage這個樣子目錄:

## @package mypackage.stuff 
# Description 
# 
# Some more description 
# @author me 

## A class that does whatever 
class whatever: 
    ## A method that does stuff 
    def dostuff(self): 
     pass 

## A function that does whatever 
def whatever: 
    pass 
+0

嘿謝謝 - 我以爲我已經嘗試過(我知道我至少做了一次),但顯然不是!至少我現在可以開心,並且所有課程都能正確連接。 – Marm0t