使用 dotenv python 出现的环境变量为“无”

新手上路,请多包涵

我正在尝试使用 python-dotenv ,但我试图传递的环境变量一直显示为“无”。我在文件夹中有两个文件:.env & settings.py

我的 .env 文件中有以下内容: TEST_VAR=jkh45k3j4h5k34j

我的 settings.py 中的同一文件夹中有以下内容:

 import os
from dotenv import load_dotenv
load_dotenv()

test_var = os.getenv("TEST_VAR")

print(test_var)

我在运行时得到的输出 python3 settings.py 是: None

为什么我无法将变量传递给 settings.py?

原文由 user196286 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 864
1 个回答

您必须提供 load_dotenv 的完整路径

import os
from dotenv import load_dotenv

# Get the path to the directory this file is in
BASEDIR = os.path.abspath(os.path.dirname(__file__))

# Connect the path with your '.env' file name
load_dotenv(os.path.join(BASEDIR, '.env'))

test_var = os.getenv("TEST_VAR")

print(test_var)

原文由 KevinS 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题