Como ativar o Virtualenv quando um script Python é iniciado?

12

Eu quero programar um script python para rodar usando cron em determinadas datas, o problema é que para que example.py funcione, example-env precisa ser ativado, existe uma maneira de fazer example.py ativar sua próprio virtualenv sempre que o cron o executa?

se não, então eu tenho que criar um script bash bash.sh que contém

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

e, em seguida, agendar que seja executado pelo cron em determinadas datas? Ou eu tenho que fazer outra coisa?

Ambas as formas estão bem comigo, eu só quero saber a maneira correta de fazer isso. Talvez eu prefira o bash script method, já que eu tenho muitos arquivos Python para rodar, então se eu colocá-los todos dentro de um script bash e agendar isso, parece mais fácil para mim, mas novamente eu não sei a maneira correta de fazer isso por isso estou pedindo conselhos.

    
por Lynob 14.06.2015 / 23:24

1 resposta

16

Você pode apenas iniciar o example.py com o caminho completo para example-env/bin/python2 .

Alternativamente, altere a linha shebang do example.py para usar esse executável, torne esse arquivo executável ( chmod +x example.py ) e deixe de fora o python e use o caminho completo para example.py para iniciá-lo:

#!/full/path/to/example-env/bin/python2
    
por 14.06.2015 / 23:53