AttributeError: модуль 'sqlalchemy.dialects' не имеет атрибута 'postgresql' - PullRequest
0 голосов
/ 19 апреля 2020

Я создавал очень простую 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'


Спасибо за вашу помощь.

Извините, за странный формат, это мой первый вопрос

1 Ответ

0 голосов
/ 20 апреля 2020

Спасибо, всем, кто видел и думал о моем вопросе.

Единственная проблема, с которой я столкнулся, это то, что имя моего файла было «select.py». Я не знаю как, но переименование файла помогло мне.

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