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

同目录下两个终端pytest运行结果不一致,应排查哪些环境变量差异

需重点排查的环境变量及差异点
  • PYTHONPATH:这是Python导入模块时的核心搜索路径。第一个终端大概率临时将当前工作目录(/Users/me/Documents/workspace-vsc/Pipeline/src/python)加入了该变量,新建标签页时shell重新加载配置,没有继承这个临时修改,导致第二个终端的Python找不到同目录下的MakeInfo模块。
    验证方法:分别在两个终端执行 echo $PYTHONPATH 和 python -c "import sys; print('\n'.join(sys.path))" 对比输出即可确认。
  • conda 相关环境变量(CONDA_PREFIX、CONDA_DEFAULT_ENV):即便两个终端的pytest执行路径完全一致,仍需确认实际激活的 conda 环境是否相同,部分场景下 shell 配置加载异常会导致环境激活状态不一致,对应环境下的本地包注册情况不同也会触发导入错误。
    验证方法:分别在两个终端执行 conda info --envs 查看当前激活环境的标记是否一致。
  • PYTHONNOUSERSITE:如果该变量在第二个终端被设置为非空值,Python会跳过加载用户本地 site-packages 目录,如果你此前通过pip install --user的方式注册过本地项目模块,也会出现找不到模块的问题。
  • shell 初始化配置差异:如果终端新建标签页默认启动的是「非登录shell」,而第一个终端是「登录shell」,二者加载的配置文件(如.bash_profile、.bashrc、.zshrc等)不同,也会导致最终环境变量状态不一致,可检查两类shell的初始化配置中是否有修改Python相关路径的逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:54:03