Saat ini saya berjuang dengan cara menjalankan metode dari file python di lingkungan virtual melalui crontab. Saya memiliki direktori yang terlihat sebagai berikut: /home/ubuntu/project memiliki file file.py dan ...

-1
vionccc 5 April 2021, 15:15

1 menjawab

Jawaban Terbaik

Argumen untuk import bukanlah nama file. Solusi paling sederhana mungkin adalah cd ke dalam direktori, lalu jalankan skrip dengan interpreter Python lingkungan virtual.

42 17 * * * cd project && ./venv/bin/python3 -c 'import file; file.method()'

Dari crontab pengguna yang direktori rumahnya adalah /home/ubuntu.

Secara umum, direktori yang ingin Anda impor harus berada di PYTHONPATH Anda. sehingga Anda dapat mengaturnya secara setara alih-alih cd ke dalam direktori. Alternatif ketiga adalah membuat kode dalam file.py menjadi modul yang dapat diinstal, dan menginstalnya di lingkungan virtual. Untuk satu kali, ini mungkin tugas yang tidak perlu, tetapi ini jelas merupakan solusi yang paling kuat dan berkelanjutan.

1
tripleee 5 April 2021, 12:37