Esta es la respuesta más acertada que encomtrarás aportar, pero primero obsérvala detenidamente y valora si es compatible a tu proyecto.
No necesita activar el entorno virtual mientras se ejecuta en .bat. Todo lo que necesita hacer es ejecutar el archivo python.exe en su entorno virtual.
path to virtual environment directory/Scripts/python.exe path/to/your/file.py
En el Programador de tareas de Windows, puede especificar la ruta en la que se abrirá el símbolo del sistema. Entonces, todo lo que necesita hacer es cuando agregue la acción, use la ruta a su python en el campo Program/script
el nombre del archivo que se ejecutará Add arguments
campo, y el camino a tu file.py
en Start in
campo.
PD: si está leyendo o escribiendo archivos en su archivo python, tenga en cuenta que su ruta será relativa a la que especifique en su start in
campo en la ventana Acción
Puedes usar un ampersand &
operador en un archivo por lotes oneliner.
call workon venv & cd path/to/Python/proj & python -m script.py
Ejecutará cada comando después del otro.
También puede duplicar el ampersand para convertirlo en un operador condicional. &&
:
call workon venv && cd path/to/Python/proj && python -m script.py
Aquí el comando solo se ejecutará si el comando anterior se completó con éxito, en otras palabras ERRORLEVEL = 0