Запуск скрипта python в виртуальной среде из планировщика задач windows



Я пытаюсь настроить повторяющуюся задачу Python через планировщик задач windows.



У меня был успех, когда я ввел путь к ' python.exe ' и предоставить путь скрипта в качестве параметра планировщику задач windows (см. скриншот ниже)



планировщик задач Windows



Однако я хочу иметь возможность выбрать конкретную виртуальную среду, в которой будет выполняться сценарий. У меня не так много знаний о venv, и я обычно использую его, открывая cmd и запуская Scriptsactivate.летучая мышь в нужный каталог виртуальной среды.



Как я могу выполнить "запуск задачи x в venvxxx каждые 24 часа" с помощью планировщика задач windows?

702   2  

2 ответов:

Создайте пакетный файл с помощью следующих команд:

c:\__full_path_to_virtualenv__\Scripts\activate.bat && python __full_path_to_python_script__.py

&& означает выполнить command2 , Если command1 успешно завершена.

Затем установите этот пакетный файл в качестве сценария для запуска. Вам не нужно устанавливать дополнительные аргументы в планировщике задач (или вы можете установить их в пакетном файле в любом случае) и можете установить Start в, если скрипт должен читать/писать из определенного каталога и использует относительные пути.

Хотя ответ mx0 выше, кажется, работает, я настроил планировщик задач для запуска веб-приложения flask при загрузке. В этом случае ручной запуск работает нормально, но ручной конец-нет. Завершение задачи убивает cmd.exe-задача, которая настраивает виртуальную среду, но на python.exe продолжает работать.

Решение, которое я нашел, работало из этого сообщения reddit , которое пропускает активацию виртуальной среды, чтобы вызвать исполняемый файл python напрямую:

path\to\venv\Scripts\python.exe path\to\script.py

Я не уверен. насколько это будет надежно, но, по крайней мере, таким образом, завершение задачи завершит python.exe

Comments

    Ничего не найдено.