shell 如何通过批处理文件运行python脚本

b1uwtaje  于 2023-01-09  发布在  Shell
关注(0)|答案(3)|浏览(188)

你好,我有一个问题,如何可以在批处理文件中运行Python脚本
我有一个安装文件为我的 flask 应用程序,每次应该设置一些环境变量,并运行app.py
我为此创建了一个设置,但我不知道如何运行python应用程序,它不工作
我的setup.cmd文件看起来像这样:

set app_debug=True
set API_KEY=secret
set SECRET_KEY=development mode
set WTF_CSRF_SECRET_KEY=development mode
set email_password=development mode
set RECAPTCHA_PUBLIC_KEY=secret
set RECAPTCHA_PRIVATE_KEY=secret

./venv/Scripts/activate.bat
python app.py

它会转到./venv/Scripts/activate.bat,然后停止,不工作

yhived7q

yhived7q1#

我认为如果你想让执行返回你当前的批处理文件,你必须“调用”一个外部批处理文件。
调用。/venv/脚本/激活. bat
在批处理文件中。

5anewei6

5anewei62#

考虑使用.env文件来存储环境变量。
可以从app.py文件加载这些env变量。
参考:https://towardsdatascience.com/environment-variables-python-aecb9bf01b85
示例:

import os
env_var = os.environ.get('ENV')
if not env_var:
    print('ENV environment variable does not exist')
bvpmtnay

bvpmtnay3#

我面临同样的问题与我的 flask 应用程序虚拟环境setup.bat脚本,我解决这个问题使用下面的脚本。
setup.bat

python -m venv venv
call venv\Scripts\activate.bat
pip install -r requirements.txt
call venv\Scripts\deactivate.bat

其中,您可以看到我使用了关键字call,它将调用activate.bat文件,并在执行pip install时保持虚拟环境处于激活状态。完成后,我在批处理文件中使用相同的call命令停用了虚拟环境。

相关问题