2017-01-29 3 views
1

PythonドキュメントジェネレータであるSphinxはモジュール/パッケージを理解していないようです。 make clean && make htmlには、のコードを実行するとImportError: No module named 'statstuff'が出力されます。Sphinxはモジュールを見つけることができませんが、Pythonは可能です

モジュールは同じパッケージにあるのでfrom . import statistics as statsと参照するようにしましたが、SphinxはSystemError: Parent module '' not loaded, cannot perform relative importを出力します。

また、config.pyは、ドキュメントフォルダがstatstuffフォルダと親フォルダを共有するので、sys.path.insert(0, os.path.abspath('../statstuff/'))と正しく設定されているようです。

とにかく、ここではファイルとリポジトリです:https://github.com/lucasmauro/statstuff

問題がstatstuff/regression.pyで発生し、ライン2および3:https://github.com/lucasmauro/statstuff/blob/master/statstuff/regression.py

コードは、Pythonインタプリタで正常に動作しますが、スフィンクスは見つけることができませんモジュールがコード(または構成)として書かれた。

これを解決する方法について誰かが手掛かりを持っていますか?

本当にありがとうございます。

答えて

2

あなたのモジュールがstatstuffと呼ばれるpackageにあるので、私は次のことをお勧め:

  1. はconf.pyにsys.pathstatstuff上記のディレクトリへのパスを追加します。

    sys.path.insert(0, os.path.abspath('..')) 
    
  2. automoduleディレクティブを編集します。

    .. automodule:: probability 
    

    .. automodule:: statstuff.probability 
    

    にというように変更します。

+0

mzjn、ありがとう。それはうまくいったが、一種。ドキュメンテーションのページですべてが "statstuff"の中に入りました。他のアイデアはありますか? –

+0

* 'ドキュメンテーションページ' *の「statstuff」内にすべてが入りました。問題ありますか?あなたはモジュールを 'statstuff'というパッケージに入れました。それはドキュメンテーションに反映されるべきでしょうか? – mzjn

+0

これがあなたの望むものかどうかは分かりませんが、[add_module_names](http://www.sphinx-doc.org/en/stable/config.html#confval-add_module_names)設定変数を設定しようとすることができます'False'になります。これにより 'statstuffが削除されます。 'すべての関数名から。 – mzjn

関連する問題