it-swarm.com.de

ImportError: Kein Modul mit dem Namen sqlalchemy

Ich kann kein Modul in Python finden, obwohl easy_install sagt, dass es bereits installiert ist .. Eine Idee, wie man dieses Problem lösen kann? 

$ python -c "from flaskext.sqlalchemy import SQLAlchemy"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named sqlalchemy


$ python -V
Python 2.7


$ Sudo easy_install sqlalchemy
Searching for sqlalchemy
Best match: SQLAlchemy 0.7.7
Adding SQLAlchemy 0.7.7 to easy-install.pth file

Using /usr/lib/python2.7/site-packages
Processing dependencies for sqlalchemy
Finished processing dependencies for sqlalchemy

$ Sudo pip installiere SQLAlchemy --upgrade Requirement bereits aktuell: SQLAlchemy in /usr/lib/python2.7/site-packages Cleaning oben...

Obwohl pip sagt, dass es installiert ist. Aber ich kann sie nicht in der Ausgabe von sys.path finden.

$ Sudo python -c "import sys;print sys.path" ['',
'/usr/lib/python2.7/site-packages/Flask_SQLAlchemy-0.15-py2.7.Egg',
'/usr/lib/python2.7/site-packages/Flask-0.8-py2.7.Egg',
'/usr/lib/python2.7/site-packages/Jinja2-2.6-py2.7.Egg',
'/usr/lib/python2.7/site-packages/Werkzeug-0.8.3-py2.7.Egg',
'/usr/lib/python2.7/site-packages/Flask_WTF-0.5.2-py2.7.Egg',
'/usr/lib/python2.7/site-packages/WTForms-0.6.3-py2.7.Egg',
'/usr/lib/python2.7/site-packages/Flask_Mail-0.6.1-py2.7.Egg',
'/usr/lib/python2.7/site-packages/blinker-1.2-py2.7.Egg',
'/usr/lib/python2.7/site-packages/lamson-1.1-py2.7.Egg',
'/usr/lib/python2.7/site-packages/python_daemon-1.6-py2.7.Egg',
'/usr/lib/python2.7/site-packages/nose-1.1.2-py2.7.Egg',
'/usr/lib/python2.7/site-packages/mock-0.8.0-py2.7.Egg',
'/usr/lib/python2.7/site-packages/chardet-1.0.1-py2.7.Egg',
'/usr/lib/python2.7/site-packages/lockfile-0.9.1-py2.7.Egg',
'/usr/lib/python2.7/site-packages/Flask_FlatPages-0.2-py2.7.Egg',
'/usr/lib/python2.7/site-packages/Markdown-2.1.1-py2.7.Egg',
'/usr/lib/python2.7/site-packages/PyYAML-3.10-py2.7-linux-i686.Egg',
'/usr/lib/python2.7/site-packages/uWSGI-1.0.3-py2.7.Egg',
'/usr/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-i686.Egg',
'/usr/lib/python27.Zip', '/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload',
'/usr/lib/python2.7/site-packages',
'/usr/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.Egg-info']
42
webminal.org

Okay, ich habe das Paket über pip neu installiert, auch wenn das nicht geholfen hat. Und dann habe ich das gesamte Verzeichnis /usr/lib/python-2.7 von einer anderen Arbeitsmaschine mit einer ähnlichen Konfiguration wie die aktuelle Maschine .synchronisiert. Es begann zu arbeiten. Ich habe keine Ahnung, was mit meinem Setup falsch war. Ich sehe einige Unterschiede "print sys.path" früher und jetzt ausgegeben. aber jetzt ist mein Problem durch diese Umgehung gelöst.

BEARBEITEN: Die richtige Lösung für mein Setup gefunden. Aktualisierung "sqlalchemy löst das Problem nur nicht" Ich muss auch flask-sqlalchemy aktualisieren, der das Problem gelöst hat.

9
webminal.org

Haben Sie flaskext.sqlalchemy installiert? Es sieht so aus, als hätten Sie das SQLAlchemy-Paket installiert, nicht jedoch die Kolben-Erweiterung. Versuchen Sie pip install Flask-SQLAlchemy oder easy_install Flask-SQLAlchemy. Es ist im Cheeseshop erhältlich , daher sollte es von jedem Dienstprogramm abgeholt werden.

59
D.Shawley

Ich habe gerade das gleiche Problem erfahren. Offenbar gibt es eine neue Verteilungsmethode, der Erweiterungscode wird nicht mehr unter flaskext gespeichert.

Source: Flask CHANGELOG Dies funktionierte für mich:

from flask_sqlalchemy import SQLAlchemy
42
sibande

Das funktioniert für mich:

Sudo pip install flask_sqlalchemy
Sudo pip install sqlalchemy

Dann verwenden Sie in Ihrem Code:

from flask_sqlalchemy import SQLAlchemy
8
Ming Liu

Versuche dies :

from flask.ext.sqlalchemy import SQLAlchemy
5
mata

Also hier ist eine Idee!

Da schien es woanders zu funktionieren.

install python-virtualenv und optional kannst du virtualenv-wrapper installieren (was ziemlich cool ist, um Projekte zu erstellen usw.)

In jeder Umgebung haben Sie möglicherweise unterschiedliche Versionen von Eiern. Mit anderen Worten, Sie könnten sqlalchemy 1 und sqlaclhemy 1.5 in zwei verschiedenen Umgebungen haben, und sie stehen nicht miteinander in Konflikt. Es scheint, dass Sie ein Problem mit Ihren derzeit installierten Eiern haben. 

Auf geht's:

virtualenv --no-site-packages foo
source foo/bin/activate

Der Parameter --no-site-packages erstellt eine virtuelleVerwendung und verwendet nicht die auf Ihrem Computer bereits installierten Pakete. Es ist fast wie eine Python-Installation.

source foo/bin/activate lädt die virtualenv. 

Das ist nicht wirklich sehr benutzerfreundlich. Und deshalb existiert http://www.doughellmann.com/projects/virtualenvwrapper/ .

Das heißt, Sie sollten in Ihrem Terminal "(foo) user @ domain $:" etwas sehen, sobald Ihre virtualenv aktiviert ist. Es bedeutet, dass Sie weitermachen können!

Dann musst du tun.

python setup.py develop Ihres Projekts. Es sollte Abhängigkeiten Ihres Projekts in der virtuellen Umgebung in foo herunterladen und installieren. Wenn Sie etwas anderes installieren müssen, verwenden Sie bitte pip oder easy_install, ohne Sudo zu verwenden. Bei der Verwendung von Virtualenv müssen Sie Sudo fast nie verwenden. Sudo installiert das Paket in Ihrer globalen Python-Installation, obwohl es nicht erforderlich und nicht wirklich wünschenswert ist. 

Wenn in Ihrer virtuellen Umgebung etwas passiert, können Sie es jederzeit löschen und eine neue erstellen. Das ist keine große Sache. Keine Notwendigkeit, sich mit irgendetwas zu beschäftigen. Funktioniert nicht Beginnen Sie noch einmal, führen Sie ggf. pip install -U aus, definieren Sie ggf. die Versionen und so weiter.

In den anderen Antworten scheint sich der Import geändert zu haben. Wenn sich die neuen Versionen für flask-sqlalchemy an einem anderen Ort befinden, sollten Sie Ihren Import aktualisieren oder die verwendete Version installieren. 

3

Dieser Code funktioniert perfekt:

import sqlalchemy

Vielleicht haben Sie das Paket in einer anderen Version des Interpreters installiert?

Wie Shawley darauf hinweist, muss die Kolbenverlängerung installiert sein, damit sie zugänglich ist.

3
user1254893

installieren Sie zuerst die Bibliothek

pip install flask_sqlalchemy 

nachdem 

from flask_sqlalchemy import SQLAlchemy

fügen Sie dies in die app.py-Datei ein, um den Zugriff auf die Datenbank über SQLAlchemy zu erhalten

Очень поздно на вечеринку, но, надеюсь, это кому-нибудь поможет, находился в такой же ситуции оке (In Windows 10).

В диалоговом окне "Настройки/Настройки" (Ctrl+Alt+S), в боковом меню выберите Projekt: | Переводчик проекта.

Weitere Informationen finden Sie unter SQLAlchemy und Flask-SQLAlchemy. Дважды щелкните имя любого пакета, откроется меню "Доступные пакеты".

Bitte klicken Sie auf die Schaltfläche "Abbrechen".

0
RiceCrispy

Unter Windows 10 @ 2019

Ich hatte das gleiche Problem. Es stellte sich heraus, dass ich vergessen habe, das folgende Paket zu installieren:

pip install flask_sqlalchemy

Nach der Installation des Pakets hat alles einwandfrei funktioniert. Hoffe, es hat einem anderen Noob wie mir geholfen.

0
Mujeeb Ishaque

Lösung für mich war zu verwenden:

from flask_sqlalchemy import SQLAlchemy

anstatt 

from flask.ext.sqlalchemy import SQLAlchemy
0