Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Importing flask.ext raises ModuleNotFoundError

Tags:

python

flask

When I try to use Flask extensions, my application is raising ModuleNotFound errors on lines like from flask.ext.sqlalchemy import SQLAlchemy or from flask.exthook import ExtDeprecationWarning. I have Flask and the extension installed. Why do I get this error?

like image 518
Sam Chats Avatar asked May 09 '18 19:05

Sam Chats


1 Answers

Something in your code, or in code you're using, is trying to import flask.ext or flask.exthook, which no longer exists in Flask 1.0. They were completely removed after being visibly deprecated for at least a year, and implicitly deprecated for many years before that. Anything that still depends on it must be upgraded.

Any use of from flask.ext import ... should be replaced with a direct import of the extension. For example flask.ext.sqlalchemy becomes flask_sqlalchemy.

The only reason to import from flask.exthook import ExtDeprecationWarning is to silence the previous deprecation warnings. Since it no longer exists, there is no warning to silence, and that code can be removed.

like image 82
davidism Avatar answered Oct 14 '22 14:10

davidism