导入 flask.ext 会引发 ModuleNotFoundError



当我尝试使用 Flask 扩展时,我的应用程序在from flask.ext.sqlalchemy import SQLAlchemyfrom flask.exthook import ExtDeprecationWarning等行上引发ModuleNotFound错误。我安装了烧瓶和扩展程序。为什么我会收到此错误?

您的代码或您正在使用的代码中的某些内容正在尝试导入flask.extflask.exthook,这在 Flask 1.0 中不再存在。它们在被明显弃用至少一年后被完全删除,并在此之前隐式弃用了很多年。任何仍然依赖于它的东西都必须升级。

任何对from flask.ext import ...的使用都应替换为直接导入扩展。例如,flask.ext.sqlalchemy变得flask_sqlalchemy.

导入from flask.exthook import ExtDeprecationWarning的唯一原因是将以前的弃用警告静音。由于它不再存在,因此没有静音警告,并且可以删除该代码。

我在/bin/superset遇到了这个问题,它只是为了警告,所以我像这样静音:

#from flask.exthook import ExtDeprecationWarning
from superset.cli import create_app
#warnings.simplefilter('ignore', ExtDeprecationWarning)

此外,安装 sqlalchemy==1.2.18 有助于解决随后的错误(这一行可能不相关,所以仅供参考(!

这可能会帮助那些遇到这个线程的人,因为他们有一个No module named 'flask.ext' error

从一开始,我就设置了from flask_sqlalchemy import SQLAlchemy,所以我不明白问题是什么。 最终奏效的是用pip3 install --upgrade Flask-SQLAlchemy升级 sql 炼金术。

相关内容

  • 没有找到相关文章

最新更新