Соединение postgresql с sqlalchemy - PullRequest
40 голосов
/ 20 февраля 2012

Я знаю, что это может быть действительно простой вопрос, но я не знаю решения. Что здесь происходит, когда я пытаюсь подключиться к 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 возвращение стратегии. создать (* аргументы, ** кварги) Файл "C: \ Python27 \ lib \ site-packages \ sqlalchemy-0.7.5dev-py2.7.egg \ sqlalchemy \ engine \ стратегия.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') Ошибка импорта: нет модуля с именем psycopg2

Нужно ли устанавливать psycopg2 отдельно? Какова правильная строка подключения для postgresql?

Ответы [ 3 ]

41 голосов
/ 20 февраля 2012

Да, psycopg2 - это, по сути, драйверы Python для PostgreSQL, которые необходимо устанавливать отдельно.

Список допустимых строк подключения можно найти здесь, у вас немного нет (вам нужно имя пользователя,пароль и имя хоста, указанные в ссылке ниже):

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

34 голосов
/ 03 марта 2017

Вам нужно будет pip install SQLAlchemy и pip install psycopg2.Пример строки подключения SQLAlchemy, которая использует psycopg2:

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.

0 голосов
/ 02 января 2018

Да, вам нужно установить psycopg2 отдельно, если вы используете linux, вы можете просто ввести следующую строку в терминал: $pip install psycopg2, если это не работает, попробуйте использовать sudo: $sudo pip install psycopg2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...