![](/img/trans.png)
[英]Cron activate virtualenv and run multiple python scripts from shell script
[英]Activate virtualenv and run .py script from .bat
我想使用 Windows 任務計划程序在虛擬環境中運行 python 腳本。 我希望調度程序運行一個 .bat 文件,它將
這些步驟從命令行一起工作,它們在 .bat 中單獨工作,但我似乎無法從 .bat 中讓它們一起工作。 當我嘗試執行 python 腳本並不清楚為什么時,virtualenv 似乎沒有完全激活。
我的 .bat 看起來像這樣:
call workon venv
cd path/to/Python/proj
python -m script.py
我嘗試在調用workon
后立即添加超時,並嘗試將workon
移動到從我的第一個文件調用的單獨 .bat 中,但其他行仍然在激活 virtualenv 之前執行。 任何幫助是極大的贊賞!
在 .bat 中運行時不需要激活虛擬環境。 您需要做的就是在您的虛擬環境中運行 python.exe 文件。
{path to virtual environment directory}/Scripts/python.exe path/to/your/file.py
在 Windows 任務計划程序中,您可以指定打開命令提示符的路徑。 因此,您需要做的就是在添加操作時,在Program/script
字段中使用 python 的路徑,在Add arguments
字段中使用要運行的文件的名稱,在Start in
字段中使用file.py
的路徑。
PS,如果您在 python 文件中讀取或寫入文件,請注意您的路徑將相對於您在操作窗口的start in
字段中指定的路徑
您可以在 oneliner 批處理文件中使用&
運算符。
call workon venv & cd path/to/Python/proj & python -m script.py
它將一個接一個地運行每個命令。
您還可以將&符號加倍以使其成為條件運算符。 &&
:
call workon venv && cd path/to/Python/proj && python -m script.py
這里的命令只會運行,如果前一個命令成功完成,換句話說ERRORLEVEL = 0
編輯activate.bat
並將此行放在底部:
python yourscript.py
安排activate.bat
本身,它會在虛擬環境激活后自動運行您的腳本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.