Как активировать виртуальную среду с помощью cronjob? - PullRequest
0 голосов
/ 26 апреля 2019

Я запускаю скрипт на Python.Сценарию требуются переменные окружения, которые определены в моем окружении virtaul ~ / .bash_profile

Вот мой скрипт cronjob, я редактирую его с помощью SSHing для моего экземпляра EC2 и запускаю:

crontab -e


*/1 * * * * cd /home/ec2-user/code/green_brick_django/pricecomparison_project/pricecomparison && /home/ec2-user/MYVENV/bin/python /home/ec2-user/code/green_brick_django/pricecomparison_project/pricecomparison/run_cronjob_script.sh > /tmp/cronlog.txt 2>&1

Я получаю сообщение об ошибке Python о том, что не может найти мои переменные ENVIRONMENT.

Что я делаю не так?Пожалуйста, помогите!

Я перепробовал все варианты, перечисленные здесь, несколько раз, во всех возможных вариантах.Пожалуйста!

Cron и virtualenv

1 Ответ

1 голос
/ 26 апреля 2019

Cron запущен системой. Он имеет минимальное окружение и ничего о вашей оболочке. Ваша команда не может загрузить среду и привести к ошибке Python. Загрузите его, обновив свою команду, как показано ниже.

*/1 * * * * $HOME/.bash_profile;/home/ec2-user/MYVENV/bin/python /home/ec2-user/code/green_brick_django/pricecomparison_project/pricecomparison/run_cronjob_script.sh > /tmp/cronlog.txt 2>&1

Перейдите Загрузка переменных окружения ссылка для других вариантов загрузки переменных окружения.

Надеюсь, это поможет вам.

...