【发布时间】:2015-03-30 06:55:52
【问题描述】:
我已经构建了一些 Flask 应用程序,但在我的最新项目中,我注意到开发模式下有些奇怪。终端中通常消息的第二行始终显示:
* Running on http://127.0.0.1:5000/
* Restarting with reloader
已被替换为:
* Restarting with stat
我认为我没有做任何不同的事情,事实上,我首先克隆了一个我用过很多次的入门工具包项目,它本身并没有显示这种行为。我还注意到这个项目稳定地消耗了大约 15% 的 CPU,而我的另一个项目几乎没有。
任何想法为什么会发生这种情况?
【问题讨论】:
-
我可以确认 a) 行为变化似乎是 Werkzeug 版本变化的结果。 b)增加的资源使用似乎与重新加载器相关 - 设置 debug = False 会改变行为。 c) 安装看门狗降低了系统资源需求。我还要注意,在开发模式下运行应用程序现在会导致两个 python 解释器运行,而以前只运行一个。 (有或没有看门狗)另外:安装了看门狗,消息将是:
Restarting with fsevents reloader -
感谢您提出这个问题。就我而言,在我安装了看门狗之前,重新加载 根本不起作用。
-
我也注意到了这一点。当 debug=True 时它不打印“在 http://...上运行”消息是一个错误吗?我猜他们认为如果你在调试,那么你就知道本地主机业务......
-
您是否在代码中使用了
.run()?我遇到了这个问题,但改为通过终端使用导出FLASK_APP=app.py。对我来说不再是问题。在文档中引用此处flask.pocoo.org/docs/0.11/quickstart/#a-minimal-application -
实际上,我认为在提出这个问题时 cli 甚至都不可用。