Come attivare Virtualenv all'avvio di uno script Python?


13

Voglio pianificare uno script Python da eseguire usando cron in determinate date, il problema è che per example.pyfunzionare, example-envdeve essere attivato, c'è un modo per example.pyattivare il proprio virtualenv ogni volta che cron lo esegue?

in caso contrario, devo creare uno script bash bash.shche contiene

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

e quindi programmare che venga eseguito da cron in determinate date? O devo fare qualcos'altro?

Entrambe le cose vanno bene con me, voglio solo sapere il modo corretto di farlo. Forse preferisco il metodo dello script bash, poiché ho molti file Python da eseguire, quindi se li inserisco tutti in uno script bash e lo pianifico, mi sembra più facile, ma ancora non conosco il modo corretto di farlo , quindi sto chiedendo un consiglio.


C'è un modo "corretto"? Forse c'è un altro modo.
ctrl-alt-delor,

@richard, sarò felice di saperlo. Ho appena formulato la mia domanda in quel modo perché non mi è mai venuto in mente che potrebbe esserci un modo migliore, ma adoro imparare
Lynob

Risposte:


21

Puoi semplicemente iniziare example.pycon il percorso completo per example-env/bin/python2.

In alternativa, modifica la riga shebang di example.pyper usare quell'eseguibile, rendi quel file eseguibile ( chmod +x example.py) ed elimina python e usa il percorso completo example.pyper avviarlo:

#!/full/path/to/example-env/bin/python2
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.