webentwicklung-frage-antwort-db.com.de

ImportError: Kein Modul mit dem Namen flask.ext.sqlalchemy in virtualenv

Hier ist der Hauptfehler, den ich bekomme, wenn ich versuche, den folgenden Code in python3 aus flask_sqlalchemy import SQLAlchemy auszuführen

Traceback (most recent call last):
  File "/home/jsnyder10/.local/bin/flask", line 11, in <module>
sys.exit(main())
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/flask/cli.py", line 513, in main
cli.main(args=args, prog_name=name)
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/flask/cli.py", line 380, in main
return AppGroup.main(self, *args, **kwargs)
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/click/decorators.py", line 64, in new_func
return ctx.invoke(f, obj, *args[1:], **kwargs)
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/flask/cli.py", line 423, in run_command
app = DispatchingApp(info.load_app, use_eager_loading=eager_loading)
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/flask/cli.py", line 152, in __init__
self._load_unlocked()
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/flask/cli.py", line 176, in _load_unlocked
self._app = rv = self.loader()
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/flask/cli.py", line 237, in load_app
rv = locate_app(self.app_import_path)
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/flask/cli.py", line 90, in locate_app
__import__(module)
  File "/home/jsnyder10/Documents/CS50/pset7/pset7/finance/application.py", line 2, in <module>
from flask_sqlalchemy import SQLAlchemy
ImportError: No module named 'flask_sqlalchemy'

Ich bin nicht sicher, ob es verwandt ist, aber wenn ich sqlaclhemy aktualisiere, werden folgende Pipes angezeigt. Ich habe versucht, Pip zu aktualisieren, aber aus irgendeinem Grund sagt Version 9.0.1, dass es zwar aktualisiert wird, aber nicht aktualisiert wird.

You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Folgendes bekomme ich, wenn ich pip liste, da sowohl sqlalchemy als auch flask-sqlalchemy installiert sind.

DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
appdirs (1.4.3)
click (6.7)
Flask (0.12.1)
Flask-SQLAlchemy (2.2)
itsdangerous (0.24)
Jinja2 (2.9.6)
MarkupSafe (1.0)
packaging (16.8)
pip (9.0.1)
pyparsing (2.2.0)
setuptools (35.0.2)
six (1.10.0)
SQLAlchemy (1.1.9)
Werkzeug (0.12.1)
wheel (0.29.0)

Ich vermute, es wurde die falsche Python-Version verwendet. Ich bin dem nie auf den Grund gegangen, aber meine virtuelle Maschine zu kotieren und eine neue Maschine zu machen, hat sie behoben. Danke für die Hilfe, ich wünschte, ich hätte es reparieren können.

6
new to python

Die Importanweisung:

from flask.ext.sqlalchemy import SQLAlchemy

löst die Ausnahme ImportError: No module named flask.ext.sqlalchemy in virtualenv aus, da der Erweiterungscode nicht mehr unter flask.ext gespeichert wird, wie in dieser Antwort angegeben.

Daher sollte die Importanweisung folgendermaßen geändert werden:

from flask_sqlalchemy import SQLAlchemy
11
Liyan Song

Anstatt:

  from flask.ext.mongoalchemy import MongoAlchemy

Benutzen:

  from flask_mongoalchemy import MongoAlchemy
1
user9585103

probiere diesen pip install flask-sqlalchemy

1
Raaj

Ich habe das gleiche Problem, ich verwende die Erweiterung Flask-WhooshAlchemy (0.56), aber wenn Sie versuchen, sie zu importieren: import flask_whooshalchemy as whooshalchemy gibt den gemeldeten Fehler aus: ImportError: No module named flask.ext.sqlalchemy.

Dann habe ich die Import-Anweisung in Flask-WhooshAlchemy (Zeile 18) von import flask.ext.sqlalchemy as flask_sqlalchemy In import flask_sqlalchemy as flask_sqlalchemy # Modified geändert.

Das löst den Importfehler, aber das bedeutet, dass Sie eine modifizierte Version von Flask-WhooshAlchemy haben.

0
Juanu