我知道这可能是一个简单的问题,但我不知道解决方案。当我尝试连接到postgresql时,这里发生了什么?我是这个数据库和编程领域的自学者,所以请温柔地对待我。 当我尝试使用代码时:
import sqlalchemy
db = sqlalchemy.create_engine('postgresql:///tutorial.db')
我收到此错误:
追踪(最近一次通话): 文件“”,第1行,in db = sqlalchemy.create_engine('postgresql:///tutorial.db') 在create_engine中输入文件“C:\ Python27 \ lib \ site-packages \ sqlalchemy-0.7.5dev-py2.7.egg \ sqlalchemy \ engine__init __。py”,第327行 return strategy.create(* args,** kwargs) 在创建文件“C:\ Python27 \ lib \ site-packages \ sqlalchemy-0.7.5dev-py2.7.egg \ sqlalchemy \ engine \ strategies.py”,第64行 dbapi = dialect_cls.dbapi(** dbapi_args) dbapi中的文件“C:\ Python27 \ lib \ site-packages \ sqlalchemy-0.7.5dev-py2.7.egg \ sqlalchemy \ dialects \ postgresql \ psycopg2.py”,第289行 psycopg = 导入('psycopg2') ImportError:没有名为psycopg2的模块
我是否需要单独安装psycopg2? postgresql的正确连接字符串是什么?
答案 0 :(得分:40)
是的,psycopg2基本上是PostgreSQL的Python驱动程序,需要单独安装。
可以在此处找到有效连接字符串的列表,您的有点连接(您需要使用以下链接中指定的用户名,密码和主机名):
http://docs.sqlalchemy.org/en/latest/core/engines.html#postgresql
答案 1 :(得分:32)
您需要pip install SQLAlchemy
和pip 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。
答案 2 :(得分:0)
是的,你需要单独安装psycopg2,如果你正在使用linux,你只需在终端输入以下行:$pip install psycopg2
如果这不起作用,请尝试使用sudo:{{ 1}}