问题
I am trying to use the Sign in with SteamID snippet from the Flask site. However, I get ImportError: No module named flaskext.sqlalchemy
when I try to run it, and PyCharm says Uresolved reference "flaskext"
and Uresolved reference "OpenID"
. I re-installed Flask-OpenID and Flask-SQLAlchemy to make sure they were there. Why am I getting this error and how do I fix it?
回答1:
That snippet is really old. flaskext
is no more (or at least very deprecated). Refer to packages directly rather than through flaskext
or flask.ext
.
from flask_sqlalchemy import SQLAlchemy
Flask-SQLAlchemy (and most other extensions) no longer register in the flaskext
namespace, and flask.ext
was deprecated then removed in 1.0. The only correct way to refer to extensions now is by directly importing them.
If you're still getting an import error, then you didn't install the package in the same Python environment you're running. Make sure you're using a virtualenv.
来源:https://stackoverflow.com/questions/31837364/importerror-no-module-named-flaskext-sqlalchemy