如何获取Flask中用于设置环境变量的所有可用Command Options?
嘿,这个问题我刚好折腾过,给你一步步讲清楚怎么弄:
第一步:找出所有符合FLASK_COMMAND_OPTION格式的环境变量
其实Flask的环境变量命名规则很固定,和命令行选项是一一对应的,你可以通过这几种方式找全:
- 查看内置命令的所有选项:在终端里运行对应命令的
--help参数就行。比如要找run命令的所有对应环境变量,直接敲:
输出里的每个选项,把短横线换成下划线、全大写,前面加上flask run --helpFLASK_RUN_就是对应的环境变量。比如--host对应FLASK_RUN_HOST,--cert对应FLASK_RUN_CERT,--no-debugger对应FLASK_RUN_NO_DEBUGGER。 - 其他内置命令同理:比如想找
shell命令的选项,就跑flask shell --help,对应的环境变量格式是FLASK_SHELL_XXX,比如--no-pythonrc对应FLASK_SHELL_NO_PYTHONRC。 - 自定义命令的环境变量:如果你用Click写了自己的Flask命令,每个选项也会自动生成对应的环境变量,规则完全一样——把选项名的短横线换成下划线,全大写,前面加上
FLASK_你的命令名_就行。比如自定义了flask import命令,有--input-file选项,对应的环境变量就是FLASK_IMPORT_INPUT_FILE。
第二步:配置到VSCode的launch.json里
配置起来也很简单,跟着走就行:
- 打开VSCode的调试面板(快捷键
Ctrl+Shift+D),如果还没创建launch.json,就点击“创建launch.json文件”,选择“Python”>“Flask”模板;如果已经有了,直接打开编辑。 - 在配置的
env字段里,添加你需要的环境变量就行。举个例子,配置端口、主机、调试模式的话,launch.json会是这样:
{ "version": "0.2.0", "configurations": [ { "name": "Python: Flask", "type": "python", "request": "launch", "module": "flask", "env": { "FLASK_APP": "app.py", "FLASK_ENV": "development", "FLASK_RUN_PORT": "5001", "FLASK_RUN_HOST": "0.0.0.0", "FLASK_RUN_DEBUG": "true" }, "args": [ "run" ], "jinja": true } ] }
- 小提醒:
- 布尔类型的选项(比如
debug)要写成字符串形式的"true"或"false",因为环境变量本质都是字符串。 - 如果是自定义命令的环境变量,直接加到
env里就行,比如自定义flask export命令的--output-path选项,就加"FLASK_EXPORT_OUTPUT_PATH": "./exports"。
- 布尔类型的选项(比如
内容的提问来源于stack exchange,提问作者Kamil
相关产品推荐
相关产品推荐

