如何在 .bat 批处理文件中启动 Python 虚拟环境?

How to start Python virtual environment in .bat batch file?

每次在 Windows 上启动 Python Flask 应用程序时,我都需要设置一长串临时环境变量。现在我想创建一个批处理文件 运行 只需双击即可完成所有设置。如果我将以下行 运行 复制并粘贴到 cmd 提示符,那么很好,但我不能 运行 它们在批处理文件中。

批处理文件的执行总是在批处理文件的第2行venv\scripts\activate被触发并退出,如果我在cmd中逐行复制和粘贴就完全没有问题。

cd C:\py\project
venv\scripts\activate

set env1=val1
set env2=val2
set FLASK_APP=some.py

flask run

.bat 文件的许多(太多)怪癖之一是,如果您启动另一个 .bat 文件,它不知道 return 到哪里。
您需要明确 call 它:

call venv\scripts\activate

你可以直接使用

start venv\Scripts\activate

这将像那样打开一个新终端...您可以使用 &&& 符号传递其他命令。