2015-12-22 74 views
10

我想僅對所選模塊使用autodoc。我創建了一個文件,其中包括:忽略autodoc中的一些模塊

.. automodule:: some.specific.module 
    :members: 

並且它會正確生成。不幸的是,autodoc一直試圖解析其他文件(並因導入錯誤而失敗)。我知道我可以嘲笑一些模塊,但我想要一個更好的解決方案 - 停止獅身人面像看他們開始。

如何確保只裝載了所需的模塊,而不是(例如)test.other.module

+0

是否http://stackoverflow.com/a/21449475/344286做你想要的?如果是的話,我會把它作爲答案發布 –

回答

0

所以這竟然是一個愚蠢的錯誤。由於某些工具會爲api文檔來源生成腳手架,因此這些文件被擱置並觸發不良導入。

這怎麼發現:

  • 獅身人面像的調試日誌記錄的多級別通常不得到激活
  • 你可以看到哪條線路引發的調試輸出進口像
[autodoc] /path/to/the/doc.rst:158: input: 
.. automodule:: app.module.name 
    :members: 
0

我看到了三個可能的原因要做到這一點:

  • 獅身人面像的緩存造成麻煩,make clean會解決這個問題
  • 你的模塊位於一個包,包的__init__.py文件 正在導入這些「其他文件」(或者更準確的是試圖將它們導入 );
  • 這些「其他文件」都是進口的,因爲你已經設置PYTHONSTARTUP