2017-04-24 33 views
1

我試圖執行this question的答案之一。但是,我還沒有成功,因爲當我運行sphinx-autogen無法找到模塊

> sphinx-autogen -o generated *.rst 

我得到的錯誤

無法導入「MyMod.X」:沒有模塊名爲MyMod.X

失敗進口 'MyMod.Y':沒有名爲MyMod.Y

模塊

無法導入 'MyMod.Z':沒有名爲MyMod.Z

模塊

在我的.rst文件,還有一個與線:

.. automodule :: MyMod.X

(以及類似的MyMod.YMyMod.Z)。

我在子目錄docs中運行此操作。在包含docs的父目錄中,還有一個包含__init__.py,X.py,Y.pyZ.py的子目錄MyMod。在docs內的conf.py文件在import sys之後立即具有行sys.path.insert(0, os.path.abspath('../'))

我能找到的最接近的相關問題是this,但是那裏的答案似乎表明它通過將'../'插入到我已經完成的路徑中來解決。此外,sphinx-autobuild可以愉快地找到這些模塊,所以我不認爲這是問題。

有趣的是,轉產我.rst文件是.. automodule:: ../MyMod.X擺脫了錯誤消息,但似乎沒有任何在我期待的目錄中生成的,然後我得到了sphinx-autobuild錯誤消息。

如何獲得sphinx-autogen以讀取這些模塊?

+1

我可以用sphinx-autogen重現錯誤。但是當我在conf.py中設置'autosummary_generate = True'並運行sphinx-build時,它就可以工作。 – mzjn

回答

0

如果其他人有更好的答案,或者此請張貼,但這裏的解釋是什麼,我瞭解我的問題

雖然sphinx-autogen給出錯誤信息,因爲我一直在尋找的情況下,我試圖讓它創建的文件仍然被創建。雖然它找不到模塊(事實上,它們是功能模塊,而不是模塊,所以它不會令人驚訝),但它仍能產生預期的輸出。