Làm cách nào để kích hoạt Virtualenv khi tập lệnh Python bắt đầu?


13

Tôi muốn lên lịch cho một kịch bản python để chạy bằng cron vào một số ngày nhất định, vấn đề là example.pyđể hoạt động, example-envphải được kích hoạt, có cách nào để example.pykích hoạt virtualenv của chính nó bất cứ khi nào cron thực thi không?

nếu không, thì tôi có phải tạo một tập lệnh bash bash.shchứa

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

và sau đó lên lịch để được thực hiện bởi cron vào một số ngày nhất định? Hay tôi phải làm gì khác?

Cả hai cách đều tốt với tôi, tôi chỉ muốn biết cách chính xác để làm điều đó. Có lẽ tôi thích phương thức bash script hơn, vì tôi có nhiều tệp Python để chạy, vì vậy nếu tôi đặt tất cả chúng trong một tập lệnh bash và lên lịch cho nó, có vẻ như tôi dễ dàng hơn, nhưng một lần nữa tôi không biết cách chính xác để làm điều đó , do đó tôi đang xin lời khuyên.


Có cách nào đúng hay không? Có lẽ có một cách khác.
ctrl-alt-delor

@richard tôi sẽ rất vui khi biết về nó. Tôi chỉ đặt ra câu hỏi của mình theo cách đó vì tôi chưa bao giờ nghĩ rằng có thể có cách tốt hơn nhưng tôi thích học hỏi
Lynob

Câu trả lời:


20

Bạn chỉ có thể bắt đầu example.pyvới đường dẫn đầy đủ đến example-env/bin/python2.

Hoặc thay đổi dòng shebang của example.pyđể sử dụng tệp thực thi đó, làm cho tệp đó có thể thực thi được ( chmod +x example.py) và loại bỏ python và sử dụng đường dẫn đầy đủ example.pyđể khởi động nó:

#!/full/path/to/example-env/bin/python2
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.