首页 文章

使用sqlalchemy连接postgresql

提问于
浏览
35

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

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

我收到此错误:

Traceback(最近一次调用最后一次):文件“”,第1行,db = sqlalchemy.create_engine('postgresql:///tutorial.db')文件“C:\ Python27 \ lib \ site-packages \ sqlalchemy-0.7 .5dev-py2.7.egg \ sqlalchemy \ engine__init __ . py“,第327行,在create_engine中返回strategy.create(* args,** kwargs)文件”C:\ Python27 \ lib \ site-packages \ sqlalchemy-0.7 . 5dev-py2.7.egg \ sqlalchemy \ engine \ strategies.py“,第64行,在create dbapi = dialect_cls.dbapi(** dbapi_args)文件”C:\ Python27 \ lib \ site-packages \ sqlalchemy-0.7.5dev -py2.7.egg \ sqlalchemy \ dialects \ postgresql \ psycopg2.py“,第289行,在dbapi中psycopg = import('psycopg2')ImportError:没有名为psycopg2的模块

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

3 回答

  • 35

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

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

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

  • 0

    你需要 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 .

  • 27

    是的,你需要单独安装psycopg2,如果你正在使用linux,你可以直接在终端输入以下行: $pip install psycopg2 如果这不起作用尝试使用sudo: $sudo pip install psycopg2

相关问题