Flask fails with "Error: While importing 'X', an ImportError was raised", but does not display the error. How to find the source of the error?

Flask fails with "Error: While importing 'X', an ImportError was raised", but does not display the error. How to find the source of the error?

启动 Flask 应用程序时:

$ flask run

我收到错误:

Error: While importing 'wsgi', an ImportError was raised.

Usage: flask [OPTIONS] COMMAND [ARGS]...`
...

但是,没有提供堆栈跟踪或其他信息。获取 ImportError 堆栈跟踪的最佳方法是什么?

在 Python 解释器提示符下导入 Flask 应用程序

要查看 ImportError 堆栈跟踪,请打开 Python 解释器提示并导入加载 Flask 应用程序的模块(通常是 app.py 或 wsgi.py)。如果适用,请确保您的虚拟环境已激活。

$ python
>>> from my_app_folder import app

设置FLASK_APP环境变量

如果您可以使用 Python 解释器导入 Flask 应用程序模块而不会出错,请尝试将 FLASK_APP 环境变量设置为指向 Flask 应用程序模块。

$ FLASK_APP='my_app_folder/app' FLASK_ENV=development flask run

我唯一要添加到 Christopher Peisert 的答案中的是给我正在搜索的错误消息的选项:

(venv) ~/example_flask_app/$ python
>>> import app

或者在我的情况下

>>> import microblog

如果 Flask 无法导入任何库(在我的情况下是 Flask_restful),则可能会导致此错误

这是我找到的用于查找缺失库的解决方法:-

我通过 运行直接使用 python

连接 Flask 应用程序文件 (wsgi.py) 发现缺少哪个库
    python wsgi.py

它给出了一个导入错误,列出了缺少的库

找到缺少的库后,只需使用 pip 安装库,对我来说缺少 Flask_restful 所以我安装了 Flask_restful . 安装缺少的库后,只需 运行 使用

的烧瓶应用程序
    flask run