如何在python中为不同的环境加载.env文件



我有三个.env文件用于本地、开发和生产环境,在为该服务器进行部署时,我必须加载特定的环境文件,即如果正在进行dev部署,则dev.env应加载所有文件。

您可以使用pip模块python-dotenv来加载.env文件
以下是您需要做的:

from dotenv import load_dotenv
load_dotenv(some_path)

现在,位于some_path的env文件中的vars可以与os.getenv一起使用

以下是我的解决方案,如何根据不同需求加载不同的env文件

import os
from pathlib import Path
from dotenv import load_dotenv
APP_ROOT = os.path.join(os.path.dirname(__file__))
PROFILE_DIR = Path(APP_ROOT) / 'profile'
STORAGE_DIR = Path(APP_ROOT) / 'storage'
# add configurations here...
FLASK_ENV = os.getenv('FLASK_ENV') or 'development'
# define here environment config files you want to load
ENVIRONMENTS = {
'development': '.env',
'docker': '.env.docker',
}
dotenv_path = os.path.join(APP_ROOT, ENVIRONMENTS.get(FLASK_ENV) or '.env')
# Load Environment variables
load_dotenv(dotenv_path)

相关内容

  • 没有找到相关文章

最新更新