2012-02-19 5 views
29

Я знаю, что это может быть очень простой вопрос, но я не знаю решения. Что происходит здесь, когда я пытаюсь подключиться к postgresql? Я сам участвую в этой области базы данных и программирования, поэтому, пожалуйста, будьте осторожны со мной. Когда я пытаюсь следующий код:Подключение postgresql с sqlalchemy

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?

ответ

30

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

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

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

18

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

from sqlalchemy import create_engine 
engine = create_engine('postgresql+psycopg2://user:[email protected]/database_name') 

Вы также можете подключиться к базе данных с помощью драйвера psycopg2 исключительно:

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

Однако, используя драйвер psycopg2 для подключения не требуется преимущество SQLAlchemy.

0

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

Смежные вопросы