亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

鏈接 python 應用程序 docker 和 postgress docker

鏈接 python 應用程序 docker 和 postgress docker

慕勒3428872 2021-10-26 16:53:58
我有兩個通過以下命令運行的 docker 容器:docker run --name postgres -v "/Users/xxx/Desktop/Coding/DockerMounting":/home/ -e POSTGRES_PASSWORD=xyz -d postgresdocker run -it -v "/Users/xxx/Desktop/Coding/DockerMounting":/home/t -p 5000:5000 --name some-app --link postgres:postgres -d xxx/ubuntu:latest我已經在我的 postgres (psql) 容器中創建了必要的用戶、數據庫和表。我正在嘗試運行 python 腳本:import osfrom sqlalchemy import create_enginefrom sqlalchemy.orm import scoped_session, sessionmakerengine = 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 - 但我不確定該值應該是多少
查看完整描述

2 回答

?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

根據文檔DATABASE_URL環境變量應該是這樣的:postgresql://postgres:xyz@postgres:5432/postgres

查看完整回答
反對 回復 2021-10-26
?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

您需要在運行 Flask 應用程序的同一環境中指定 DATABASE_URL。

這意味著如果您在 Windows 中從 CMD 運行它,則需要在運行 Flask 之前將其導出:

setx DATABASE_URL "postgres://<user>:<password>@<host>:<port>/<DBname>"

或者在Linux中:

export DATABASE_URL=postgres://<user>:<password>@<host>:<port>/<DBname>

(端口通常是 5432)

然后運行您的應用程序。


查看完整回答
反對 回復 2021-10-26
  • 2 回答
  • 0 關注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號