Flask 1.0升级后控制台频繁出现“Exception ignored in...”报错求助
解决Flask 1.0升级后控制台出现大量忽略异常的问题
嘿,我之前在类似环境下也碰到过这个问题,别担心,这其实是Werkzeug(Flask依赖的核心WSGI工具库)和Python 3.6交互时的一个小bug,本身不会影响应用运行,但控制台刷屏确实挺闹心的。下面给你几个靠谱的解决办法:
方案1:升级Werkzeug到最新稳定版
这个是最直接的修复方式,因为后续版本已经解决了这个异常输出的问题。在终端执行:
pip3 install werkzeug --upgrade
之后重启你的Flask应用,应该就看不到那些冗余的异常信息了。
方案2:禁用Werkzeug热重载的异常输出
如果你暂时不想升级依赖,可以通过设置环境变量来抑制这些输出:
- 在代码中添加:在Flask应用启动前加入这两行代码:
import os os.environ['WERKZEUG_RUN_MAIN'] = 'true' - 在PyCharm中配置:打开运行配置,在「环境变量」里添加
WERKZEUG_RUN_MAIN=true,保存后重启应用。
方案3:更新requirements.txt中的依赖版本
检查你的requirements.txt,如果里面固定了Werkzeug的旧版本,把它改成:
werkzeug>=0.15.0
然后重新执行升级命令:
pip3 install -r requirements.txt --upgrade
补充说明
这些异常信息是Werkzeug在debug模式的热重载机制下,子进程退出时触发的被忽略的异常,和Python 3.6的垃圾回收处理字符串对象的逻辑有关。它不会影响应用的功能,但会产生大量冗余输出,上面的方案都能有效解决这个问题。
内容的提问来源于stack exchange,提问作者Alexandre Ackermans
相关产品推荐
相关产品推荐

