fastapi: 修改.env后是否需要重启服务?
一,开发环境(Development)
开发环境(Development)
如果你在本地开发,并启用了自动重载功能:
FastAPI: 使用 uvicorn main:app --reload 启动时,Uvicorn 默认只监控 .py 文件。
修改 .env 文件通常不会触发自动重启,
此时你需要手动重启终端,或者在 .env 修改后顺便保存一下任意 .py 文件来骗过热重载机制。
二,生产环境(Production)
在生产环境中,你必须手动重启服务。原因如下:
生产环境的服务器(如 Gunicorn、Uvicorn 且未加 --reload)会将代码和环境参数一次性加载到内存中运行。
无论你使用的是 python-dotenv 库 还是 FastAPI 的 Pydantic Settings,
它们都只在应用初始化(启动时)读取一次 .env 文件。
总结:
在生产环境(Production)中,必须手动重启框架;
在开发环境(Development)中,若开启了热重载(Reload/Debug)模式,框架会感知变化并自动重启应用。
浙公网安备 33010602011771号