Ошибка подключения postgresql с использованием sqlalchemy

import os

from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker

engine = create_engine("postgresql://postgres:114920@localhost/Databases")
db = scoped_session(sessionmaker(bind=engine))

def main():
    Railway = db.execute("SELECT origin, destination, duration FROM Railway").fetchall()
    for railway in Railway:
        print(f"{railway.origin} to {railway.destination}, {railway.duration} minutes")

if __name__ == "__main__":
    main()

и получил эту ошибку (если возможно, поделитесь кодом, я давно застрял на этом враге)

C:\Веб-разработка\Lecture02>python hoja1.py Traceback (последний последний вызов): Файл "C:\Web Development\Lecture02\hoja1.py", строка 6, в engine = create_engine("postgresql://postgres:114920@localhost/базы данных") Файл "C:\Users\hp\AppData\Local\Programs\Python\Python39\lib\site-packages\sqlalchemy\engine_init_.py", строка 500, в create_engine return Strategy.create(*args, **kwargs) Файл "C:\Users\hp\AppData\Local\Programs\Python\Python39\lib\site-packages\sqlalchemy\engine\strategies.py", строка 87, при создании dbapi = dialect_cls.dbapi(**dbapi_args) Файл "C:\Users\hp\AppData\Local\Programs\Python\Python39\lib\site-packages\sqlalchemy\dialects\postgresql\psycopg2.py", строка 778, в dbapi импортировать psycopg2 ModuleNotFoundError: нет модуля с именем «psycopg2»

Привет, вам не хватает модуля psycopg2, который sqlalchemy использует для взаимодействия с postgresql. Он у вас установлен? pip install psycopg2

Jan Lipovský 15.12.2020 11:22
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
1
753
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

похоже у вас нет модуля psycopg2 попробуйте pip установить psycopg2 запустите эту команду в своем терминале

pip install psycopg2
import os

из импорта sqlalchemy create_engine из sqlalchemy.orm импортировать scoped_session, создатель сеансов

двигатель = create_engine("postgresql://postgres:114920@localhost:5432/postgres") db = scoped_session (создатель сеансов (bind = движок))

деф основной(): Железная дорога = db.execute("ВЫБЕРИТЕ пункт отправления, пункт назначения, продолжительность ОТ железной дороги").fetchall() для железной дороги в железной дороге: print(f"{railway.origin} до {railway.destination}, {railway.duration} минут")

если имя == "основной": основной()

Другие вопросы по теме