【发布时间】:2021-12-10 11:53:33
【问题描述】:
下面显示的是我的 Flask 应用程序的 launch.json 文件中的代码。我在"env": {} 部分定义了各种环境变量。但是,当我从 run.py 脚本运行 Flask 应用程序时,它似乎无法识别变量。尽管"FLASK_DEBUG" 设置为"1",应用程序仍然在**Debug mode: off** 上运行。
有人知道为什么吗?
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Flask",
"type": "python",
"request": "launch",
"module": "flask",
"env": {
"FLASK_APP": "run.py",
"FLASK_ENV": "development",
"FLASK_DEBUG": "1",
"EMAIL_USER": "farmgo.project.21@gmail.com",
"EMAIL_PASS": "password",
},
"args": [
"run",
//"--no-debugger"
],
"jinja": true,
}
],
}
如果我设置:
if __name__ == '__main__':
app.run(debug=True)
然后应用程序确实在调试模式下运行。但是,我仍然无法获取其他环境变量:
>>> import os
>>> print(os.environ.get('FLASK_DEBUG'))
None
【问题讨论】:
-
有多个可能的冲突大纲,例如有一个
.env文件,在this SO post 中进行了概述 -
您实际上在运行through the debugger 应用程序吗?似乎您没有这样做,因为您提到使用“run.py 脚本”并且您正在从 python 控制台显示
>>>。 launch.json 配置仅在通过调试器(读取launch.json 文件)运行应用程序时生效。 -
我没有通过调试器运行应用程序。当我这样做时,它会识别环境变量。
标签: python flask visual-studio-code environment-variables