VSCode环境下Python脚本无法读取.env文件环境变量问题求助
解决方案
1. 显式指定.env文件的绝对路径
load_dotenv()默认读取当前工作目录下的.env文件,如果你运行脚本时的工作目录不是脚本本身所在的文件夹,就会找不到文件。修改代码为以下写法,强制读取脚本同级目录的.env文件:
import os from dotenv import load_dotenv # 拼接得到.env文件的绝对路径 dotenv_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), '.env') load_dotenv(dotenv_path) EMAIL = os.getenv('EMAIL') PASSWORD = os.getenv('PASSWORD')
2. 修正.env文件的语法规则
python-dotenv默认不识别等号两侧的空格,你当前的.env文件中等号两边有空格,会导致读取的键名/值名异常。把.env文件内容修改为等号两侧无空格的格式:
EMAIL=importantemail@mydomain.com PASSWORD=secret_password
3. 其他排查项
- 确认.env文件命名正确,没有隐藏的后缀(比如Windows系统默认隐藏扩展名时,很容易把文件存成
.env.txt) - 确认已经安装python-dotenv依赖,执行
pip install python-dotenv即可完成安装/升级
内容的提问来源于stack exchange,提问作者Logan Whitehair
相关产品推荐
相关产品推荐

