Ale*_*x T 7 environment-variables flask gunicorn
对于本地开发,我只需设置包含必要变量的 .env 文件,然后运行应用程序:
Flask run
一切看起来都很好,所有环境变量都在应用程序中正确读取和设置。
但是,当我使用 Gunicorn 运行应用程序时:
gunicorn api:app --bind 127.0.0.1:5050
我可以清楚地看到环境变量没有加载。
仅当我在gunicorn命令中明确设置它们时:
gunicorn api:app --bind 127.0.0.1:5057 -e POSTGRES_DB=postgresql://XXXXX
然后它就会起作用。然而,由于我可以有很多环境变量,这实际上并不可行。有没有办法使用文件来设置这个?
dmi*_*kov 13
Gunicorn 可以读取gunicorn.conf.py一个普通的 python 文件,您可以在其中设置环境变量:
# gunicorn.conf.py
import os
os.environ['POSTGRES_DB'] = "postgresql://XXXXX"
Run Code Online (Sandbox Code Playgroud)
您甚至可以告诉它加载您的.env文件,例如:
# gunicorn.conf.py
import os
from dotenv import load_dotenv
for env_file in ('.env', '.flaskenv'):
env = os.path.join(os.getcwd(), env_file)
if os.path.exists(env):
load_dotenv(env)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2841 次 |
| 最近记录: |