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

创建Conda环境时遇JSONDecodeError导入错误的解决求助

错误排查与解决:Conda创建环境时的JSONDecodeError及pip依赖问题

原因分析

  • simplejson版本不兼容:JSONDecodeError是Python 3.5+标准库json模块的内置异常,部分旧版simplejson未将该异常导出到模块顶层,当环境中安装这类版本时会触发导入错误。
  • pip依赖损坏/冲突:pip._vendor.requests缺失通常是pip自身安装不完整、被篡改,或是系统全局pip与conda环境内pip冲突,导致依赖链断裂。
  • conda缓存残留:Miniconda/Anaconda的缓存目录可能留存旧版simplejson或损坏的pip包,重装Anaconda后仍会优先调用缓存,导致问题重复。
  • environment.yml配置问题:yml文件若指定过低版本的simplejson,或依赖包间接引入不兼容版本,也会引发错误。

解决方法

1. 清理conda缓存后重建环境

  • 清理所有conda缓存:
    conda clean --all -y
    
  • 创建空环境并激活:
    conda create --name env1 python=3.x  # 替换为yml中指定的Python版本
    conda activate env1
    
  • 卸载可能存在的问题包:
    pip uninstall -y simplejson
    conda uninstall -y simplejson
    
  • 从yml更新环境依赖:
    conda env update --name env1 -f environment.yml
    

2. 强制修复pip依赖

  • 在激活的环境中重新安装pip:
    python -m ensurepip --upgrade
    python -m pip install --upgrade --force-reinstall pip
    
  • 验证修复结果:
    pip --version
    python -c "import pip._vendor.requests"  # 无报错则修复成功
    

3. 约束simplejson版本(修改yml)

打开environment.yml,添加simplejson的版本约束:

dependencies:
  - python=3.8  # 替换为你的Python版本
  - simplejson>=3.17.0  # 该版本及以上支持导出JSONDecodeError
  # 其他依赖项...

重新执行创建命令:

conda env create --name env1 -f environment.yml

4. 临时禁用pip安装(应急方案)

若主要依赖为conda包,可先跳过pip安装:

conda env create --name env1 -f environment.yml --no-pip

激活环境后手动安装需pip的包:

conda activate env1
pip install [目标包名]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 09:35:11