Crontab для запуска скрипта Python, который использует виртуальную среду - PullRequest
0 голосов
/ 31 августа 2018

В настоящее время у меня есть скрипт на python, который использует виртуальную среду под названием myenv. Команда для запуска скрипта в терминале следующая:

cd env && source activate env && bin/env-dev python ~/Documents/test/ingest.py

Когда я пытался настроить это в crontab, я продолжал получать сообщение об ошибке «команда не найдена». На вкладке cron я пробовал несколько вариантов:

1) Использование bash (последняя часть - записать ошибки в текстовый файл). Это на самом деле работает для других сценариев в пути к файлу, которые не требуют исходной активации myenv. Таким образом, проблема существует, когда я добавляю в исходный код активировать myenv.

* * * * * bash -c 'cd env && source activate env && bin/env-dev python ~/Documents/test/ingest.py' >> ~/test_cron.txt 2>&1

снимок экрана терминала с командой bash

2) Нет удара

* * * * * cd env && source activate env && bin/env-dev python ~/Documents/test/ingest.py

3) Я также попытался добавить PATH = / Users / mattzerweck / miniconda3 / envs / myenv в верхней части crontab, но это не привело к успешному выполнению bash.

У кого-нибудь есть решение для этого? Мне кажется, я не нашел решения, которое работало бы онлайн, и мне нужно, чтобы этот скрипт запускался автоматически каждое утро в 5 часов утра. (в настоящее время каждую минуту для тестирования)

1 Ответ

0 голосов
/ 07 сентября 2018

Нашел ответ, который работал. Должен установить путь и оболочку вверх перед командами. Крон не потянул мой правильный путь к файлу.

...