AttributeError: у объекта 'NoneType' нет атрибута '_instantiate_plugins' (невозможно импортировать create_engine) - PullRequest
0 голосов
/ 15 апреля 2020
import os

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

engine=create_engine(os.getenv("DATABASE_URL"))
db = scoped_session(sessionmaker(bind=engine))

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

if __name__ == "__main__":
    main()

Traceback (последний вызов был последним): файл "list.py", строка 6, в engine = create_engine (os.getenv ("DATABASE_URL")), файл "C: \ Users \ Aakash \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site-packages \ sqlalchemy \ engine__init __. Py ", строка 479, в create_engine, возвращают policy.create (* args, ** kwargs) Файл" C: \ Users \ Aakash \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site-packages \ sqlalchemy \ engine \ стратегия.py ", строка 56, в файле create plugins = u._instantiate_plugins (kwargs) AttributeError: объект 'NoneType' не имеет атрибут '_instantiate_plugins'

И если изменить мой код на:

Проблема и обратная связь на рисунке.

1 Ответ

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

Похоже, os.getenv("DATABASE_URL") возвращается None. Звонок create_engine(None) выдаст вам эту ошибку. DATABASE_URL определено в переменной среды?

...