python - create_engine - sqlalchemy postgresql example
Conectando postgresql con sqlalchemy (3)
Necesitaría pip install SQLAlchemy
y pip install psycopg2
. Un ejemplo de una cadena de conexión SQLAlchemy que utiliza psycopg2:
from sqlalchemy import create_engine
engine = create_engine(''postgresql+psycopg2://user:password@hostname/database_name'')
También puede conectarse a su base de datos utilizando exclusivamente el controlador psycopg2:
import psycopg2
conn_string = "host=''localhost'' dbname=''my_database'' user=''postgres'' password=''secret''"
conn = psycopg2.connect(conn_string)
Sin embargo, el uso del controlador psycopg2 para conectarse no aprovecha las ventajas de SQLAlchemy.
Sé que esta podría ser una pregunta simple, pero no sé la solución. ¿Qué está pasando aquí cuando intento conectarme a postgresql? Soy autodidacta en este campo de la base de datos y la programación, así que por favor sea amable conmigo. Cuando intento el siguiente código:
import sqlalchemy
db = sqlalchemy.create_engine(''postgresql:///tutorial.db'')
Me sale este error:
Seguimiento (última llamada más reciente): Archivo "", línea 1, en db = sqlalchemy.create_engine (''postgresql: ///tutorial.db'') Archivo "C: / Python27 / lib / site-packages / sqlalchemy-0.7. 5dev-py2.7.egg / sqlalchemy / engine__init __. Py ", línea 327, en create_engine return strategy.create (* args, ** kwargs) Archivo" C: / Python27 / lib / site-packages / sqlalchemy-0.7.5dev -py2.7.egg / sqlalchemy / engine / strategies.py ", línea 64, en create dbapi = dialect_cls.dbapi (** dbapi_args) Archivo" C: / Python27 / lib / site-packages / sqlalchemy-0.7.5dev- py2.7.egg / sqlalchemy / dialects / postgresql / psycopg2.py ", línea 289, en dbapi psycopg = import (''psycopg2'') ImportError: No hay un módulo llamado psycopg2
¿Necesito instalar psycopg2 por separado? ¿Cuál es la cadena de conexión correcta para postgresql?
Sí, necesita instalar psycopg2 por separado, si está usando Linux, simplemente ingrese la siguiente línea en el terminal: $pip install psycopg2
si esto no funciona, intente usar sudo: $sudo pip install psycopg2
Sí, psycopg2 son básicamente los controladores Python para PostgreSQL que deben instalarse por separado.
Puede encontrar una lista de cadenas de conexión válidas aquí, la suya está un poco desactivada (necesita el nombre de usuario, la contraseña y el nombre de host como se especifica en el enlace a continuación):
http://docs.sqlalchemy.org/en/latest/core/engines.html#postgresql