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

使用PyCharm运行按钮时getenv()返回None的解决方法咨询

问题解决:PyCharm运行pytest时getenv返回None的处理方案

问题根源

PyCharm通过运行按钮执行pytest时,工作目录和你在命令行执行pytest时不一致,导致代码里用相对路径"config/.env"找不到.env文件,load_dotenv加载失败,自然getenv返回None。

解决办法

1. 改用绝对路径加载.env文件

不管运行时的工作目录是什么,用绝对路径定位.env文件就能保证加载成功。有两种写法:

  • 用os.path模块:
    from dotenv import load_dotenv
    from os import getenv, path
    
    # 获取当前脚本的绝对目录
    current_script_dir = path.dirname(path.abspath(__file__))
    # 拼接.env文件的绝对路径
    env_file_path = path.join(current_script_dir, "config/.env")
    load_dotenv(env_file_path)
    
  • 用pathlib模块(更简洁):
    from dotenv import load_dotenv
    from os import getenv
    from pathlib import Path
    
    env_file_path = Path(__file__).parent / "config/.env"
    load_dotenv(env_file_path)
    

2. 修改PyCharm运行配置的工作目录

把PyCharm的pytest运行工作目录改成你命令行执行时的项目根目录:

  • 点击PyCharm右上角的运行配置下拉框,选择"Edit Configurations..."
  • 在左侧找到对应的pytest配置项
  • 在右侧"Working directory"栏,点击文件夹图标,选择你的项目根目录
  • 保存配置后重新运行pytest

3. 直接在PyCharm运行配置中添加环境变量

如果不想改代码,也可以直接在运行配置里导入.env的内容:

  • 打开Run/Debug Configurations,找到目标pytest配置
  • 找到"Environment variables"选项,点击右侧的编辑按钮(铅笔图标)
  • 在弹出的窗口中,点击左上角的"Load environment variables from file"按钮,选择你的config/.env文件
  • 保存后运行即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 17:07:02