2016-07-01 9 views
0

私はcrontabで実行する大規模なシェルスクリプトを毎晩自動的に更新するアプリケーション開発サーバーを用意しています。スクリプトはファイルの先頭に#!/bin/shと指定しており、変更できません。スクリプトの基本的な目的は、マシンを通過し、スクリプトにリストされている各ディレクトリに最新のコードをダウンロードすることです。すべてのリポジトリが更新された後、適切な仮想環境(Django manage.pyコマンド)を使用してvirtualenvのpythonを直接呼び出すことによって、関連するデータベースを更新するスクリプトをいくつか実行します。cronを使用した仮想環境内でのSphinxドキュメントの作成

私は、スクリプトの最後にコードからドキュメントを作成するために必要なすべてのSphinxプラグインを仮想環境にインストールしていますが、私は理解できないようですmakeコマンドがvirtualenvの内部で実行され、適切なパッケージとライブラリにアクセスできるようにする方法。仮想環境の内部でmakeコマンドを実行する方法が必要であり、必要に応じて後でその環境を無効にして残りのスクリプトを実行できるようにする必要があります。

私の現在のスクリプトは、shがworkonまたはdeactivateを持っていないため、またmakeがsphinx-buildを見つけることができないため、後者の3行でエラーが発生します。

cd ${_proj_root}/dev/docs 
workon dev 
make clean && make html 
deactivate 

答えて

0

この質問に対する回答は、hereでした。ルートからsphinxドキュメントを作成しようとすると表示されるエラーメッセージは次の通りです:

Makefile:12:*** 'sphinx-build'コマンドが見つかりませんでした。 にSphinxがインストールされていることを確認し、SPHINXBUILD環境 変数を 'sphinx-build'実行可能ファイルのフルパスを指すように設定します。 また、実行可能ファイルを含むディレクトリを PATHに追加することもできます。 Sphinxをインストールしていない場合は、 http://sphinx-doc.org/から取得してください。やめる。

さまざまな仮想環境にすべてのツールがインストールされている場合に、cronを使ってsphinxドキュメントを作成しようとしている人のための完全なコマンドを以下に示します。環境が起動されている間に、whichを使って、あなたのpythonとsphinx-buildコマンドの場所を知ることができます。

make html SPHINXBUILD='<virtualenv-path-to>/python <virtualenv-path-to>/sphinx-build' 
関連する問題