手動で実行すると動くのに、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が動く
参考ブログ