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

如何阻止VSCode调试/测试时自动加载.env覆盖.test.env配置?

解决VSCode调试时自动加载.env覆盖指定配置文件的问题

问题核心是VSCode的Python扩展默认会自动加载项目根目录下的.env文件,优先级高于代码中通过Pydantic BaseSettings指定的.test.env,导致配置被覆盖。可以通过以下几种方法解决:

方法1:在launch.json中指定环境文件或禁用自动加载

修改你的launch.json配置,添加envFile字段:

  • 若想强制加载.test.env,直接指定路径:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Module",
            "type": "python",
            "request": "launch",
            "module": "uvicorn",
            "args": [
                "run:app",
                "--reload"
            ],
            "justMyCode": true,
            "envFile": "${workspaceFolder}/.test.env"
        }
    ]
}
  • 若想完全禁用VSCode自动加载任何.env文件,将envFile设为null:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Module",
            "type": "python",
            "request": "launch",
            "module": "uvicorn",
            "args": [
                "run:app",
                "--reload"
            ],
            "justMyCode": true,
            "envFile": null
        }
    ]
}

方法2:在VSCode设置中全局或工作区禁用自动加载.env

打开VSCode设置(快捷键Ctrl+,),搜索python.envFile,将其值设置为null,这样无论是调试还是测试,VSCode都不会自动加载.env文件。

如果只想对当前工作区生效,选择"工作区"标签页修改设置,会生成.vscode/settings.json文件:

{
    "python.envFile": null
}

方法3:调整.env文件命名(可选)

将生产环境的.env重命名为其他名称(比如.prod.env),这样VSCode不会默认识别加载,同时代码中如果需要加载生产配置,再单独指定该文件即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 18:09:19