激活virtualenv并从.b运行.py脚本

2024-04-28 06:02:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用Windows任务调度程序在虚拟环境中运行python脚本。我希望调度程序运行一个.bat文件

  1. 激活virtualenv
  2. 运行脚本

这些步骤在命令行中协同工作,它们在.bat中单独工作,但我似乎无法让它们在.bat中协同工作。当我试图执行python脚本时,virtualenv似乎没有完全激活,并且不明白为什么。

我的蝙蝠看起来像这样:

call workon venv
cd path/to/Python/proj
python -m script.py

我尝试在调用workon之后立即添加超时,并尝试将workon移动到从第一个文件中分离调用的.bat,但其他行仍在激活virtualenv之前执行。非常感谢您的帮助!


Tags: 文件命令行程序脚本程序运行virtualenvwindows步骤
2条回答

您可以在一行批处理文件中使用与号&运算符。

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

在.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的路径。

windows task scheduler example

p.S如果您正在python文件中读或写文件,请注意您的路径将与您在操作窗口的start in字段中指定的路径相对应

相关问题 更多 >