- cronで実行すると作業ディレクトリで指定したpythonと違うバージョンで動いてしまう
- cronで実行するとpythonが見つからないと怒られる
これはcronで実行した時にdirenvが実行ディレクトリを判断できないために起こる問題です。 普段の作業ではcdした瞬間にdirenvがよしなに取り計らってくれるので、以下の実行方法でdirenvで設定したpythonを実行してくれます。
cd working_dir
python hoge.py
しかしcronから実行する場合にはcdして平凡に実行するだけではdirenvはきちんと判別できないようです。どこで実行しているのかを明示するために、以下のように実行する必要があります。
direnv exec working_dir python hoge.py
direnv --helpにはこの実行方法がきちんと書かれているのですが、普段が便利過ぎて最初は気付けませんでした。
0 件のコメント:
コメントを投稿