Ошибка кругового импорта при импорте create_engine в Sqlalchemy - PullRequest
0 голосов
/ 08 марта 2020

Я пробую веб-разработку CS50 с курсом Python, и в разделе sql при импорте create_engine из sqlalchemy я получил эту ошибку

ImportError: невозможно импортировать имя 'create_engine' из частично инициализированной модуль 'sqlalchemy' (скорее всего из-за циклического импорта)

Вот фрагмент:

DATABASE_URL = "postgres://usrname:password@YourHost:5432/flights"


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

engine = create_engine(DATABASE_URL)
db = scoped_session(sessionmaker(bind=engine))   

flights = db.execute("SELECT origin, destination, duration FROM flights").fetchall() 

for flight in flights:
    print(f"{flight.origin} to {flight.destination}, {flight.duration} minutes.")

Метка времени для видео:

https://video.cs50.net/web/2018/spring/lectures/3?t=1h9m52s

1 Ответ

0 голосов
/ 09 марта 2020

Я не вижу здесь циклического импорта, но возможный обходной путь -

import sqlalchemy as sqlalchemy_package
engine = sqlalchemy_package.create_engine(DATABASE_URL)

, заменяя строку engine = create_engine(DATABASE_URL)

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