it-swarm.com.de

Postgresql mit sqlalchemy verbinden

Ich weiß, das ist wirklich eine einfache Frage, aber ich kenne die Lösung nicht. Was passiert hier, wenn ich versuche, mich mit Postgresql zu verbinden? Ich lerne selbst in diesem Bereich der Datenbank und Programmierung, also seien Sie bitte sanft mit mir ... Wenn ich folgenden Code probiere:

import sqlalchemy
db = sqlalchemy.create_engine('postgresql:///tutorial.db')

Ich erhalte diesen Fehler:

Traceback (letzter Anruf zuletzt): Datei "", Zeile 1, in db = sqlalchemy.create_engine ('postgresql: ///tutorial.db') Datei "C:\Python27\lib\site-packages\sqlalchemy-0.7.5dev-py2.7.Egg\sqlalchemy\engine__init __. Py", Zeile 327, in create_engine return strategy.create (* args, ** kwargs) Datei "C:\Python27\lib\site-packages\sqlalchemy-0.7.5dev-py2.7.Egg\sqlalchemy\engine\Strategien.py", Zeile 64, in create dbapi = dialect_cls.dbapi (** dbapi_args) Datei "C:\Python27\lib\site-packages\sqlalchemy-0.7.5dev-py2.7.Egg\sqlalchemy\dialects\postgresql\psycopg2.py", Zeile 289, in dbapi psycopg = import ('psycopg2') ImportError: Kein Modul mit dem Namen psycopg2

Muss ich psycopg2 separat installieren? Was ist die richtige Verbindungszeichenfolge für Postgresql?

37

Ja, psycopg2 sind im Grunde die Python-Treiber für PostgreSQL, die separat installiert werden müssen.

Eine Liste der gültigen Verbindungszeichenfolgen finden Sie hier. Ihre ist etwas unvollständig (Sie müssen den Benutzernamen, das Kennwort und den Hostnamen angeben, die im folgenden Link angegeben sind):

http://docs.sqlalchemy.org/de/latest/core/engines.html#postgresql

38
Uku Loskit

Sie müssten pip install SQLAlchemy und pip install psycopg2. Ein Beispiel einer SQLAlchemy-Verbindungszeichenfolge, die psycopg2 verwendet:

from sqlalchemy import create_engine
engine = create_engine('postgresql+psycopg2://user:[email protected]/database_name')

Sie können auch ausschließlich mit dem psycopg2-Treiber eine Verbindung zu Ihrer Datenbank herstellen:

import psycopg2
conn_string = "Host='localhost' dbname='my_database' user='postgres' password='secret'"
conn = psycopg2.connect(conn_string)

Die Verwendung des Treibers psycopg2 für die Verbindung nutzt jedoch nicht SQLAlchemy.

28
andrew

Ja, Sie müssen psycopg2 separat installieren. Wenn Sie Linux verwenden, geben Sie einfach die folgende Zeile in das Terminal ein: $pip install psycopg2 Wenn dies nicht funktioniert, versuchen Sie es mit Sudo: $Sudo pip install psycopg2