Uppenbarligen laddar cron inte bash-profilen så du måste skriva ett omslag.
Så skriv en bash-wrapper som exporterar de variabler som behövs och anropar skriptet. Ring sedan det omslaget från crontab. När det fungerar vet du att dina variabler inte exporterades korrekt för användaren vars crontab du redigerade.
Obs:Du kan lägga till dem i /etc/bashrc
och det kommer då att finnas på plats för alla användare, om du har root-åtkomst.
Du kan också göra en generisk omslag och cron saker skicka dem genom omslaget.
my_bash_wrapper.sh
#!/bin/bash
. ~/.bash_profile
"$0"
framkalla i cron:
0 1 * * * /my/loc/my_bash_wrapper.sh my_python_script arg1 arg2