Подключение postgresql с sqlalchemy
Я знаю, что это может быть действительно простой вопрос, но я не знаю этого решения. Что происходит здесь, когда я пытаюсь подключиться к 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 return strategy.create(* args, ** kwargs) Файл" C:\Python27\lib\site-packages\sqlalchemy-0.7.5dev-py2.7.egg\sqlalchemy\engine\Strateg.py ", строка 64, в создании 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?
Ответы
Ответ 1
Да, psycopg2 - это в основном драйверы Python для PostgreSQL, которые необходимо установить отдельно.
Здесь можно найти список допустимых строк подключения, ваш бит отключен (вам нужно указать имя пользователя, пароль и имя хоста, указанные в приведенной ниже ссылке):
http://docs.sqlalchemy.org/en/latest/core/engines.html#postgresql
Ответ 2
Вам понадобится 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.
Ответ 3
Да, вам нужно установить psycopg2 отдельно, если вы используете linux, вы можете просто ввести следующую строку в терминал: $pip install psycopg2
Если это не работает, попробуйте использовать sudo: $sudo pip install psycopg2