导入flask.ext会引发ModuleNotFoundError

当我尝试使用Flask扩展名时,我的应用程序ModuleNotFoundfrom flask.ext.sqlalchemy import SQLAlchemy或上引发了错误from flask.exthook import ExtDeprecationWarning。我安装了Flask和扩展程序。为什么会出现此错误?

慕田峪9158850
浏览 508回答 2
2回答

阿晨1998

您的代码或正在使用的代码中的某些内容正在尝试导入flask.ext或flask.exthook,而Flask 1.0中已不再存在。在显式弃用了至少一年之后,它们被完全删除,在此之前隐式弃用了很多年。任何仍依赖它的内容都必须升级。任何对的使用from flask.ext import ...应替换为扩展名的直接导入。例如flask.ext.sqlalchemy变为flask_sqlalchemy。导入的唯一原因from flask.exthook import ExtDeprecationWarning是使先前的弃用警告静音。由于不再存在,因此不会发出任何警告以保持静音,并且可以删除该代码。

湖上湖

我遇到了这个问题,/bin/superset它仅用于警告,因此我将其静音为:#from flask.exthook import ExtDeprecationWarningfrom superset.cli import create_app#warnings.simplefilter('ignore', ExtDeprecationWarning)参见注释行。另外,安装sqlalchemy == 1.2.18有助于解决随后出现的错误(此行可能不相关,因此仅供参考)!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python