用sqlalchemy连接postgresql

2024-06-16 10:06:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道这可能是个很简单的问题,但我不知道解决方法。当我尝试连接到postgresql时,这里发生了什么?我是数据库和编程领域的自学者,所以请对我温柔一点。 当我尝试以下代码时:

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

我得到这个错误:

Traceback (most recent call last): File "", line 1, in db = sqlalchemy.create_engine('postgresql:///tutorial.db') File "C:\Python27\lib\site-packages\sqlalchemy-0.7.5dev-py2.7.egg\sqlalchemy\engine__init__.py", line 327, in create_engine return strategy.create(*args, **kwargs) File "C:\Python27\lib\site-packages\sqlalchemy-0.7.5dev-py2.7.egg\sqlalchemy\engine\strategies.py", line 64, in create dbapi = dialect_cls.dbapi(**dbapi_args) File "C:\Python27\lib\site-packages\sqlalchemy-0.7.5dev-py2.7.egg\sqlalchemy\dialects\postgresql\psycopg2.py", line 289, in dbapi psycopg = import('psycopg2') ImportError: No module named psycopg2

我需要单独安装psycopg2吗?postgresql的正确连接字符串是什么?


Tags: indbsqlalchemyeggpostgresqllibpackagescreate
3条回答

你需要pip install SQLAlchemypip install psycopg2。 使用psycopg2的SQLAlchemy连接字符串示例:

from sqlalchemy import create_engine
engine = create_engine('postgresql+psycopg2://user:password@hostname/database_name')

您还可以使用psycopg2驱动程序专用地连接到数据库:

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

但是,使用psycopg2驱动程序进行连接并没有利用SQLAlchemy。

是的,psycopg2基本上是PostgreSQL的Python驱动程序,需要单独安装。

在这里可以找到有效连接字符串的列表,您的连接字符串有点小(您需要在下面的链接中指定用户名、密码和主机名):

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

是的,您需要单独安装psycopg2,如果您使用的是linux,您只需输入以下行到终端:$pip install psycopg2如果这不起作用,请尝试使用sudo:$sudo pip install psycopg2

相关问题 更多 >