You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code运行Python脚本时为何读取.env文件的注释与引号?

VS Code运行Python脚本时dotenv解析.env异常的解决办法

方案一:强制dotenv覆盖环境变量

修改你的测试脚本,给load_dotenv加上override=True参数:

import os
from dotenv import load_dotenv

# 强制用dotenv解析的正确值覆盖已存在的环境变量
load_dotenv(override=True)

print("-=-START")
print(os.getenv('TEST'))
print(os.getenv('TEST2'))
print(os.getenv('TEST3'))
print(os.getenv('TEST4'))

方案二:关闭VS Code自动加载.env的功能

  1. 打开VS Code设置(按下Ctrl+,)
  2. 搜索python.envFile
  3. 将该选项的值设置为空字符串""

问题根源

VS Code的Python插件默认会自动读取项目根目录的.env文件并注入到环境变量中,但它的解析逻辑和python-dotenv不一致:

  • 不会移除值两端的单/双引号
  • 不会忽略行内的注释内容

而python-dotenv默认不会覆盖已存在的环境变量,所以当VS Code提前注入了错误解析的变量后,python-dotenv就不会再替换成正确的值。终端运行时没有这个提前注入的过程,所以python-dotenv能正常解析.env文件,结果符合预期。


内容的提问来源于stack exchange,提问作者Peter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 01:49:58