1

我有一个现有的 Python 3.7 项目。向 .env 添加新变量时,它不会加载。

这是我的 .env 文件的示例。

# Existing
DB_HOST=localhost
DB_PORT=3307

# New variable
API_BASE_URL=https://testing.mysite.com.au/api/v1/
# Load api settings
api_base_url = os.getenv('API_BASE_URL') 

然而,数据库变量工作正常,api_base_url返回None.

我不认为这是 path/load_dotenv 问题,因为现有变量正在正确加载。

我需要刷新/重新加载 .env 文件吗?

4

2 回答 2

1

您使用的是什么环境管理系统?我认为该.env文件是 pipenv 的东西,如果是这样,则该.env文件仅在您调用pipenv run ...pipenv shell. 因此,如果您在 python 中工作,则需要退出 shell 或运行。

如果您使用的是 linux 机器,您也可以只source .env在 shell 中分配环境变量。

于 2019-09-24T22:22:18.550 回答
0

如果您使用任何 IDE,例如 Visual Studio Code/Pycharm 或类似的,您可能需要在更改 .env 后重新加载它

不知道您的确切环境,也不知道您是否使用 autoenv 或任何其他工具,这也可能是一个不错的选择,source .env如@it's-yer-boy-chet 建议的那样明确。

如果您使用的是 autoenv,您只需输入 cd . ,它会提示您是否要获取 .env 的修改版本

于 2019-09-24T23:18:29.767 回答