2016-04-17 12 views
3

私はコードをオープンソースとしていますが、ローカルでsphinx-quickstartmake htmlで作成されたMakefileで期待通りに動作していますが、誰でも私がRTDの統合に間違っていることについて助言してもらえますか?ReadTheDocsはPythonモジュール(Sphinx)でdocstringを解析していません

私はRTDの詳細設定でvirtualenvにモジュールをビルドすることについて読んだことがありますが、私はscipyを必要とし、BLASライブラリが利用できないためにビルドに失敗しているため動作しません(また、 docsのすべてのビルドのためのタスク)。

sphinx.ext.autodocとsphinx.ext.napoleon(Googleスタイルのドキュメントストリング用)の両方が含まれています。ローカルでは、dev-scripts/api-docs.shを一度だけ実行して、docs/source/bnol.rstdocs/source/modules.rstを作成しました。そして、標準のMakefile(git repoでは無視されます)を使用して、ドキュメントを期待どおりにビルドします。パッケージと

  • Sphinx conf.py
  • /bnol/に:私はこの FAQ detailing the build process on RTDを発見し、ローカル sphinx-buildと同じプロセスを使用し、期待どおりに動作します。私はRTDログでエラーをトラックしていますが、まだ注意する点はありません。

    +1

    ちょっと@Arran RTDに関する専門家はいませんが、githubリポジトリのBNoL/docsフォルダにMakefileが必要なようです。 githubの設定も表示されませんが、RTDサービスフックの設定も有効にする必要があります。一度あなたがこれらの両方を持っていればうまくいくはずです。 –

    +0

    ありがとう@BradBaskin。以下の修正を参照してください。 –

    答えて

    2

    docstring commentsからスフィンクスのautodocを使用すると、Pythonファイルが読み込まれるため、インポートするすべてのモジュールもインポートされる必要があります。 ReadTheDocsは、特にnumpyscipyの場合、必要なモジュールを作成して失敗する可能性があります。

    私はsetup.pyからモジュールを取り外し、代わりに実際のパッケージのインストール用のパッケージのルートでピップ要件ファイル./requirements.txtでそれらをリストすることによって、問題を修正しました。次に、ダミー(空)要件ファイルが./docs/source/に配置され、ReadTheDocs構成が指し示されました(指定されていなくてもダミーが必要な場合は自動的に./requirements.txtをロードするように見えました)。

    これはまだ私の./docs/source/conf.pyファイルで見られるとの詳細なようmockで固定したモジュールのインポートの問題を残し: http://blog.rtwilson.com/how-to-make-your-sphinx-documentation-compile-with-readthedocs-when-youre-using-numpy-and-scipy/

    変更の完全なリストは、commit that solved the problemで見ることができます。

    +1

    これは私の問題を解決するのに役立ちましたが、 'setup.py'からモジュールを削除する必要はなく、モック要件ファイルを作成してRTDをポイントするだけで済みます。あなた自身の問題にソリューションを投稿するための歓声。 –

    +0

    私は同じ問題を抱えていました。私の 'repo_dir/apps/conf.py'には、' repo_dir/app_dir/__ init __。py'に対応するsys.path.insert(0、os.path.abspath( '../ app_dir')) 'が設定されていました。これを 'sys.path.insert(0、os.path.abspath( '../'))'に変更することで修正しました。 – user5359531

    関連する問題