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

os.environ无法获取环境变量:调试正常但直接运行失败

问题原因与解决办法

为什么调试正常但直接运行失效?

VS Code的调试模式会主动读取.vscode/settings.json里配置的python.envFile,在启动调试进程前预先加载指定的环境变量文件,所以代码能正确获取到环境变量。但直接点击「Run Python File」时,VS Code只是在终端中直接执行python test.py命令,不会触发python.envFile的加载逻辑,导致进程无法读取到预设的环境变量,因此输出None。

解决办法

方法一:代码手动加载环境变量(推荐,不受运行方式限制)

使用python-dotenv库实现环境变量的手动加载,这样不管是调试还是直接运行都能生效:

  1. 安装依赖库:
pip install python-dotenv
  1. 修改test.py代码,添加加载逻辑:
import os
from dotenv import load_dotenv

# 计算project.env的绝对路径:从当前test.py文件往上两级目录定位到目标文件
env_file_path = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'project.env')
load_dotenv(env_file_path)

print(os.environ.get('sample'))
print(os.environ.get('sample2'))

方法二:配置VS Code让「Run Python File」自动加载环境变量

修改.vscode/settings.json,添加终端启动参数,让运行命令自动加载指定的环境变量文件:

{
    "python.envFile": "${workspaceFolder}/project.env",
    "python.terminal.launchArgs": [
        "-m", "dotenv run", "--"
    ]
}

注意:该配置需要先安装python-dotenv库,之后点击「Run Python File」时,VS Code会自动以python -m dotenv run -- test.py的方式执行,确保环境变量被加载。

内容的提问来源于stack exchange,提问作者Prosy A.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 09:10:31