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

设置环境变量后os.getenv()返回None的问题排查

问题分析与解决:CMD设置环境变量后Python无法读取

核心原因

用set命令在CMD中设置的是临时环境变量,仅对当前CMD进程及其直接启动的子进程生效。如果你的Python进程是从其他途径(比如IDE、桌面快捷方式)启动的,它不属于当前CMD的子进程,自然读不到这个变量。重启电脑后临时变量会被清空,所以重启后再设置也解决不了问题。


解决方法

方法1:在同一CMD进程内启动Python

  • 打开CMD,执行set GITHUB_USERNAME=damaf
  • 保持当前CMD窗口不变,直接输入python进入交互环境,此时调用os.getenv('GITHUB_USERNAME')就能获取到值
  • 若要运行脚本,在该CMD窗口执行python your_script.py即可

方法2:设置永久环境变量

临时变量仅在当前会话有效,要让变量永久生效,需配置系统或用户级环境变量:

  1. 按下Win+R,输入sysdm.cpl回车,打开系统属性窗口
  2. 切换到「高级」标签页,点击「环境变量」按钮
  3. 在「用户变量」(仅当前用户生效)或「系统变量」(所有用户生效)区域,点击「新建」:
    • 变量名:GITHUB_USERNAME
    • 变量值:damaf
  4. 依次点击「确定」保存所有设置
  5. 重启所有需要读取该变量的程序(包括CMD、IDE等),再运行Python即可读取到变量

方法3:使用.env文件管理开发环境变量(推荐)

如果只是开发场景使用,不想修改系统环境变量,可以用.env文件:

  1. 安装依赖包:pip install python-dotenv
  2. 在项目根目录创建.env文件,写入内容:
    GITHUB_USERNAME=damaf
    
  3. 在Python脚本开头添加以下代码:
    from dotenv import load_dotenv
    import os
    
    load_dotenv()
    print(os.getenv('GITHUB_USERNAME'))  # 可正常读取变量值
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 12:08:11