Как активировать Virtualenv при запуске скрипта Python?

13

Я хочу запланировать запуск сценария python с использованием cron на определенные даты, проблема в том, что для того, example.pyчтобы он работал, example-envнужно ли его активировать, есть ли способ заставить example.pyего активировать свою собственную virtualenv всякий раз, когда cron выполняет его?

если нет, то я должен создать скрипт bash, bash.shкоторый содержит

#!/usr/bin/env bash
workon example-env
python2 example.py

а затем запланировать, что будет выполняться cron на определенные даты? Или я должен сделать что-то еще?

Со мной все в порядке, я просто хочу знать, как это сделать. Возможно, я предпочитаю метод сценария bash, так как у меня много запускаемых файлов Python, поэтому, если я помещу их все в сценарий bash и запланирую это, мне кажется, что это проще, но, опять же, я не знаю, как сделать это правильно Посему прошу совета.

Lynob
источник
Есть ли «правильный» способ? Может быть, есть другой способ.
Ctrl-Alt-Delor
@ Richard Я буду рад узнать об этом. Я просто сформулировал свой вопрос таким образом, потому что мне никогда не приходило в голову, что может быть лучше, но я люблю учиться
Lynob

Ответы:

21

Вы можете просто начать example.pyс полного пути к example-env/bin/python2.

В качестве альтернативы измените строку shebang example.pyдля использования этого исполняемого файла, сделайте этот файл исполняемым ( chmod +x example.py) и пропустите python и используйте полный путь для example.pyего запуска:

#!/full/path/to/example-env/bin/python2
Энтон
источник