У меня есть два контейнера докеров, выполняемых следующими командами:
запуск докера --name postgres -v "/ Users / xxx / Desktop / Coding / DockerMounting": / home /-e POSTGRES_PASSWORD = xyz -d postgres
docker run -it -v "/ Users / xxx / Рабочий стол / Кодирование / DockerMounting": / home / t -p 5000: 5000 -name some-app --link postgres: postgres -d xxx / ubuntu: последний
Я создал нужного пользователя, базу данных и таблицу в моем контейнере postgres (psql).
Я пытаюсь запустить скрипт на python:
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()
Я получаю следующую ошибку:
File "list.py", line 6, in <module>
engine = create_engine(os.getenv("DATABASE_URL"))
File "/usr/local/lib/python3.6/dist-packages/sqlalchemy/engine/__init__.py", line 435, in create_engine
return strategy.create(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/sqlalchemy/engine/strategies.py", line 56, in create
plugins = u._instantiate_plugins(kwargs)
Я знаю одну проблему, которая заключается в том, что мне нужно установить DATABASE_URL env - ноЯ не уверен, что должно быть это значение