ImportError: нет модуля с именем flaskext.sqlalchemy

Я пытаюсь использовать фрагмент Войти с помощью SteamID с сайта Flask. Однако я получаю ImportError: No module named flaskext.sqlalchemy, когда пытаюсь запустить его, а PyCharm говорит Uresolved reference "flaskext" и Uresolved reference "OpenID". Я переустановил Flask-OpenID и Flask-SQLAlchemy, чтобы убедиться, что они там есть. Почему я получаю эту ошибку и как ее исправить?


person Mattias Zurkovic    schedule 05.08.2015    source источник
comment
Поскольку эти фрагменты больше не публикуются, вот их архивная копия для потомков: https://web.archive.org/web/20190207193459/http://flask.pocoo.org/snippets/42/   -  person SuperShoot    schedule 03.09.2019


Ответы (1)


Этот фрагмент действительно старый. flaskext больше нет (или, по крайней мере, очень устарел). Обращайтесь к пакетам напрямую, а не через flaskext или flask.ext.

from flask_sqlalchemy import SQLAlchemy

Flask-SQLAlchemy (и большинство других расширений) больше не регистрируются в пространстве имен flaskext, а flask.ext устарел затем удален в 1.0. Единственный правильный способ ссылаться на расширения сейчас - это напрямую импортировать их.

Если вы по-прежнему получаете сообщение об ошибке импорта, значит, вы не установили пакет в той же среде Python, в которой работаете. Убедитесь, что вы используете virtualenv.

person davidism    schedule 05.08.2015