【问题标题】:Flask CLI shows "TypeError: exceptions must derive from BaseException"Flask CLI 显示“TypeError:异常必须从 BaseException 派生”
【发布时间】:2021-10-31 10:11:18
【问题描述】:

当我使用flask run 从终端运行 Flask 时,如果我的代码有错误,我会看到“TypeError:异常必须从 BaseException 派生”而不是实际错误。要调试它,我需要打开浏览器并检查 Werkzeug 调试器中的 exc_info 变量,这很不方便。为什么 Flask 会这样做?如何在终端中查看实际错误?

$ FLASK_APP=example flask run

Traceback (most recent call last):
  File "[...]/lib/python3.9/site-packages/flask/cli.py", line 356, in __call__
    self._flush_bg_loading_exception()
  File "[...]/lib/python3.9/site-packages/flask/cli.py", line 344, in _flush_bg_loading_exception
    raise exc_info
TypeError: exceptions must derive from BaseException

【问题讨论】:

    标签: python flask


    【解决方案1】:

    这是 Flask 2.0 中引入的 bug,当 Flask 2.0.2 发布时将是 fixed。 CLI 错误地重新引发 sys.exc_info() 而不仅仅是异常对象。在此之前,您可以通过运行 flask run --eager-loading 来关闭延迟加载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-05
      • 1970-01-01
      • 2022-10-20
      • 1970-01-01
      • 1970-01-01
      • 2016-05-03
      相关资源
      最近更新 更多