Python FLASK_ENV似乎被忽略(不能进入调试环境)

Python FLASK_ENV似乎被忽略(不能进入调试环境),python,flask,Python,Flask,根据烧瓶文件 flask脚本很适合启动本地开发服务器,但是 必须在每次代码更改后手动重新启动它。那个 不是很好,烧瓶可以做得更好。如果启用调试支持 服务器将在代码更改时重新加载自身,并且 如果出现问题,为您提供一个有用的调试器 要启用所有开发功能(包括调试模式),您可以 导出FLASK_ENV环境变量并将其设置为development 在运行服务器之前: 然而,在我非常简单的示例中,代码更改直到重新启动服务器后才生效。我已经设置了要使用export FLASK\u APP=hello.py运行的

根据烧瓶文件

flask脚本很适合启动本地开发服务器,但是 必须在每次代码更改后手动重新启动它。那个 不是很好,烧瓶可以做得更好。如果启用调试支持 服务器将在代码更改时重新加载自身,并且 如果出现问题,为您提供一个有用的调试器

要启用所有开发功能(包括调试模式),您可以 导出FLASK_ENV环境变量并将其设置为development 在运行服务器之前:

然而,在我非常简单的示例中,代码更改直到重新启动服务器后才生效。我已经设置了要使用
export FLASK\u APP=hello.py运行的特定脚本,脚本如下所示:

from flask import Flask, url_for, request, render_template
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!!"
在Flask开发服务器运行时,我通过添加或删除感叹号并保存文件来更改返回值。然后我在
http://127.0.0.1:5000/
在Chrome中,但感叹号的数量不变。一旦我使用
Ctrl-C
退出终端中的Flask并重新启动它,然后再次刷新页面,我就会得到正确数量的感叹号

这是在Mac、Python 3.6.0(Anaconda)、Flask 0.12上实现的

我是否误解了开发服务器可以如何帮助我,或者您是否认为我应该检查其他内容?我对烧瓶很陌生。

试试看

FLASK_APP=app.py FLASK_DEBUG=1 TEMPLATES_AUTO_RELOAD=1 flask run
FLASK\u DEBUG
将获得您现在正在寻找的行为<代码>模板\u自动\u重新加载
将在您开始使用模板时立即为您提供所需的行为

$env:FLASK_ENV = "development"
flask run

在我的Win10笔记本电脑上运行VS code时,这对我来说是可行的,但看起来只有当它都在同一条线上时才可行。这对我来说是很奇怪的,因为我希望一旦设置了一个环境变量(即使在终端的前一行上),它至少对在同一终端会话中运行的未来程序是可用的。您知道我可能缺少什么吗?根据您的shell,您可能需要
export FLASK\u DEBUG=1
在您的环境中保留该设置。如果没有这些,它只适用于在线。奇怪的是,我可以发誓我是这么做的。但我无法复制它,现在当我使用
export
时,它工作正常。谢谢你的帮助。
$env:FLASK_ENV = "development"
flask run