Bagaimana cara mengaktifkan Virtualenv ketika skrip Python dimulai?

13

Saya ingin menjadwalkan skrip python untuk dijalankan menggunakan cron pada tanggal-tanggal tertentu, masalahnya adalah agar agar example.pydapat bekerja, example-envharus diaktifkan, apakah ada cara untuk example.pymengaktifkan virtualenvnya sendiri setiap kali cron menjalankannya?

jika tidak, maka apakah saya harus membuat skrip bash bash.shyang berisi

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

dan kemudian menjadwalkan itu akan dieksekusi oleh cron pada tanggal tertentu? Atau apakah saya harus melakukan sesuatu yang lain?

Kedua cara baik-baik saja dengan saya, saya hanya ingin tahu cara yang benar untuk melakukannya. Mungkin saya lebih suka metode bash script, karena saya memiliki banyak file Python untuk dijalankan, jadi jika saya meletakkan semuanya di dalam skrip bash dan menjadwalkannya, sepertinya lebih mudah bagi saya, tetapi sekali lagi saya tidak tahu cara yang benar untuk melakukannya. , oleh karena itu saya meminta saran.

Lynob
sumber
Apakah ada cara yang "Benar"? Mungkin ada cara lain.
ctrl-alt-delor
@ Richard saya akan senang mengetahuinya. Saya baru saja merumuskan pertanyaan saya dengan cara itu karena tidak pernah terpikir oleh saya bahwa mungkin ada cara yang lebih baik tetapi saya suka belajar
Lynob

Jawaban:

20

Anda bisa memulai example.pydengan path lengkap ke example-env/bin/python2.

Alternatif lain, ubah baris shebang example.pyuntuk menggunakan executable itu, buat file itu executable ( chmod +x example.py) dan tinggalkan python dan gunakan path lengkap example.pyuntuk memulainya:

#!/full/path/to/example-env/bin/python2
Anthon
sumber