Я создавал очень простую c python программу, связывающую ее с базой данных в psql.
Мой код выглядит следующим образом:
из sqlalchemy import create_engine
из sqlalchemy.orm import scoped_session, sessionmaker
engine = create_engine ("postgresql + psycopg2: // sidrules:password@localhost: 5432 / first")
db = scoped_session ( создатель сеанса (bind = engine))
def main ():
flights=db.execute("select origin, destination, duration from flights").fetchall()
for flight in flights:
print(f"from {flight.origin} to {flight.destination} in {flight.duration} min")
если name == " main ":
main()
во время выполнения вышеуказанного кода я получаю следующую ошибку (извините за странное форматирование):
* Traceback (последний вызов был последним): файл "select.py" , строка 6, в файле engine = create_engine ("postgres + psycopg2: // sidrules:secret@localhost: 5432 / first") "C: \ Users \ Home \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site-packages \ sqlalchemy \ engine__init __. py ", строка 479, в файле create_engine return стратегии.create (* args, ** kwargs) Файл" C: \ Users \ Home \ AppData \ Local \ Programs \ Python \ Python38-32 \ Lib \ сайт-пак es \ sqlalchemy \ engine \ стратегия.py ", строка 61, в файле create entrypoint = u._get_entrypoint ()" C: \ Users \ Home \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site- packages \ sqlalchemy \ engine \ url.py ", строка 172, в файле _get_entrypoint cls = registry.load (name) Файл" C: \ Users \ Home \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site -packages \ sqlalchemy \ util \ langhelpers.py ", строка 253, в загрузочном загрузчике = self.auto_fn (имя) Файл" C: \ Users \ Home \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site-packages \ sqlalchemy \ dialects__init __. py ", строка 45, в модуле _auto_fn = import (" sqlalchemy.dialects.% s "% (dialect,)). Файл диалектов" C: \ Users \ Home \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site-packages \ sqlalchemy \ dialects \ postgresql__init __. Py ", строка 8, в из. импортировать базовый файл "C: \ Users \ Home \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site-packages \ sqlalchemy \ dialects \ postgresql \ base.py", строка 954, из UUID для импорта UUID как _python_UUID # noqa File "C: \ Users \ Home \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ uuid.py", строка 57, в _AIX = platform.system () == 'AIX' Файл "C: \ Users \ Home \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ platform.py", строка 891, в system возвращает uname (). Системный файл "C: \ Users \ Home \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ platform.py ", строка 779, в файле uname node = _node ()" C: \ Users \ Home \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ platform.py ", строка 582, в _node файле сокета импорта" C: \ Users \ Home \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ socket.py ", строка 52 , в импорте os, sys, io, селекторы Файл "C: \ Users \ Home \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ selectors.py", строка 12, в импорте выберите Файл "D: \ HTML \ SQL \ select.py ", строка 6, в engine = create_engine (" postgres + psyc opg2: // sidrules:sidhhant@localhost: 5432 / first ") Файл" C: \ Users \ Home \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site-packages \ sqlalchemy \ engine__init __. py ", строка 479, в create_engine возвращаемую policy.create (* args, ** kwargs) Файл "C: \ Users \ Home \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site-packages \ sqlalchemy \ engine \ стратегия \ .py ", строка 61, в файле create entrypoint = u._get_entrypoint ()" C: \ Users \ Home \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site-packages \ sqlalchemy \ engine \ url .py ", строка 172, в файле _get_entrypoint cls = registry.load (name)" "1068 *: \ Users \ Home \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site-packages \ sqlalchemy \ util \ langhelpers.py ", строка 253, в загрузочном загрузчике = файл self.auto_fn (имя) загрузки" C: \ Users \ Home \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site-packages \ sqlalchemy \ dialects__init__ .py ", строка 49, в _auto_fn
module = getattr (module, dialect)
AttributeError: модуль 'sqlalchemy.dialects' не имеет атрибута postgresql *
из которых я думаю, что последняя строка должна беспокоиться о:
AttributeError: модуль 'sqlalchemy.dialects' не имеет атрибута 'postgresql'
Спасибо за вашу помощь.
Извините, за странный формат, это мой первый вопрос