マシンのネイティブ環境ではなく、virtualenv を使用して html ドキュメントを作成したいと考えています。
virtualenv に入りましたが、実行make html
すると、モジュールをインポートできないというエラーが表示されます。エラーは、ネイティブ環境でモジュールを使用できないことが原因であることがわかっています。ドキュメントを検索するときに使用する環境を指定するにはどうすればよいですか (例: virtualenv)?
マシンのネイティブ環境ではなく、virtualenv を使用して html ドキュメントを作成したいと考えています。
virtualenv に入りましたが、実行make html
すると、モジュールをインポートできないというエラーが表示されます。エラーは、ネイティブ環境でモジュールを使用できないことが原因であることがわかっています。ドキュメントを検索するときに使用する環境を指定するにはどうすればよいですか (例: virtualenv)?
この問題は、Mathijs によって正しく検出されています。
$ which sphinx-build
/usr/local/bin/sphinx-build
仮想環境にsphinx自体をインストールすることで、この問題を解決しました。
環境がアクティブ化されている場合:
$ source /home/migonzalvar/envs/myenvironment/bin/activate
$ pip install sphinx
$ which sphinx-build
/home/migonzalvar/envs/myenvironment/bin/sphinx-build
それは十分にきれいに見えます。
ここでの問題make html
は、コマンドを通常のシェル コマンドとして使用することです。これは、ファイルの最初の行 (つまり. )sphinx-build
で使用する Python インタープリターを明示的に指定します。#!/usr/bin/python
この方法で Python が呼び出された場合、仮想環境は使用されません。
これを回避する手っ取り早い方法は、sphinx-build
Python スクリプトをインタープリターから明示的に呼び出すことです。では、これ は次のようにMakefile
変更することで実現できます。SPHINXBUILD
SPHINXBUILD = python <absolute_path_to_sphinx-build-file>/sphinx-build
を変更したくない場合はMakefile
、次のようにコマンド ラインからこのパラメーターを渡すこともできます。
make html SPHINXBUILD='python <path_to_sphinx>/sphinx-build'
make build
VirtualEnv 環境内から実行する場合、環境内から Python インタープリターを使用する必要があり、Sphinx が必要なすべての機能を見つけるのを確認できます。
これはきちんとした解決策ではないことをよく知っています。これMakefile
は、ファイルの特定の場所を想定してはならないためsphinx-build
です。より適切な解決策の提案は大歓迎です。