手動で実行すると動くのに、cronに設定すると何故か動かなくて結構苦労したのでメモ残します
・cronは$HOMEで実行される。
・cronは環境変数をセットしない。
・pyenv環境を利用している場合、PATHを明示しないと動かない
00 09 * * * python $HOME/test.py
# → この設定で動かない時は、
00 09 * * * $HOME/.pyenv/bin/python $HOME/test.py
# → このように、明示的にPATH指定するとcronで動くようになる場合があるpythonの実行ファイルのパスはこちらのコマンドで確認可能
which python
$HOME/.pyenv/bin/python
# → pyenv環境を参照しているので明示的にPATHを指定する必要がある
which python3
/usr/bin/python3
# → pyenv環境を利用していないので、cronで python3 と指定するだけでcronが動く参考ブログ
あずみ.net

【Python】cronでpyenv環境のPythonが実行されない時の対処法 - あずみ.net
【Python】cronでpyenv環境のPythonが実行されない時の対処法です。 通常、cronでPythonファイルを実行させたいとき以下のように書くと思います。 * * * * * python $HOME/he … 続きを読む "【Python】cronでpyenv環境のPythonが実行されない時の対処法"




