2016-07-15 18 views
0

共有ホスティング(bluehost)でPythonスクリプトを実行する際に問題があり、他のSOスレッドの助けを借りてPYTHONPATHを設定し、問題なしでスクリプトを実行できました。共有ホスティングのcronジョブ用にPYTHONPATHを設定する

今私は、cronジョブを経由してスクリプトを実行する必要があります。共有ホスティング環境のcronジョブは、私がスクリプトを呼び出すことができる単なる行ですが、スクリプトを呼び出す前にPYTHONPATHを設定する方法を理解することはできません。

例:

python /path/to/my/script.py 

私はこの問題は共通する必要があります確信しているが、私は他のスレッドで任意の答えを見つけることができませんでした。

cronジョブのためPYTHONPATHを設定するために、どのように任意のアイデア?

また、コードベースは、ローカル環境で開発され、サーバは、gitのプルを通じてコピーを取得します。だから、私の好みの解決策は、サーバーのソースコードを変更することではありません。これは、メインスクリプトを呼び出すcronジョブから別のスクリプトを呼び出し、そこに変数を設定するが、私は、私はローカルおよび1のためのコード1の2つのバージョンを維持する必要がないように起こるのを好まない、メインスクリプトを変更しても大丈夫ですサーバー。

答えて

5
シェルスクリプトを実行するようにcronジョブを変更し

。シェルスクリプトの中で、PYTHONPATHと設定し、Pythonプログラムを呼び出します。

これにあなたのcronジョブを変更し

my_shell_script.sh

/path/to/my_shell_script.sh 

内容:

export PYTHONPATH=something 
python /path/to/py/python/program.py 

あなたが別のシェルスクリプトを持ってしたくない場合は、クーロンにすべてを詰め込むことができます非常に長くなることがありますが、それは非常に長くなることがあります:

PYTHONPATH=something python /path/to/py/python/program.py 
+0

また、その変数をcrontabファイルに直接設定することもできますジョブが実行される環境に注入されます。 – reptilicus

+0

@reptilicusを共有ホスティングで使用しても、crontabファイルにアクセスできますか?今私が見ることのできるのは、cpanelからシングルラインのcronを作成することだけです。 – apadana

関連する問題