crontab 下の Python スクリプトで考慮される sys パスを定義します。

crontab 下の Python スクリプトで考慮される sys パスを定義します。

次のような crontab 定義があるとします。

* * * * * /home/dan/test.py

パス があり/home/dan/foo/fooディレクトリ に という名前の Python モジュールが格納されているとしますfoo

一方、test.py次のようになります。

import sys
sys.path.append('/home/dan')
from foo.foo1 import Foo1

これですべてうまくいきましたが、今度はパス定義を cron に渡したいので、次の操作を実行しました。

  1. コメントアウトsys.path.append('/home/dan')test.py
  2. cronjob 設定の上に次の定義を crontab に追加しました:

    PATH=/home/dan
    

動作しません。なぜか分かりますか?

答え1

これを試してください:

PYTHONPATH='/home/dan' python /home/dan/test.py

関連情報