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

AWS SageMaker Notebook安装gcc提示环境不一致如何解决

AWS SageMaker安装Prophet触发conda环境不一致报错解决方案

问题场景

  • 开发环境:AWS SageMaker Jupyter Notebook,选用conda_python3内核
  • 开发目标:使用Prophet库实现时间序列预测,安装Prophet前需配置gcc环境
  • 故障现象:在Notebook中执行%conda install gcc时,触发环境不一致报错,依赖求解过程长时间卡顿,手动中断后报错如下:
Collecting package metadata (current_repodata.json): done
Solving environment: /
The environment is inconsistent, please check the package plan carefully
The following packages are causing the inconsistency:
- conda-forge/noarch::nbclient==0.5.2=pyhd8ed1ab_0
- conda-forge/linux-64::matplotlib==3.3.4=py36h5fab9bb_0
- conda-forge/noarch::qdarkstyle==2.8.1=pyhd8ed1ab_2
- conda-forge/linux-64::scikit-image==0.16.2=py36hb3f55d8_0
- conda-forge/noarch::python-language-server==0.36.2=pyhd8ed1ab_0
- conda-forge/linux-64::widgetsnbextension==3.5.1=py36h5fab9bb_4
- conda-forge/noarch::flake8==3.8.4=py_0
- conda-forge/noarch::ipywidgets==7.6.3=pyhd3deb0d_0
- conda-forge/noarch::typing-extensions==3.7.4.3=0
- conda-forge/noarch::path.py==12.5.0=0
- conda-forge/noarch::dask==2021.2.0=pyhd8ed1ab_0
- conda-forge/noarch::nbformat==5.1.2=pyhd8ed1ab_1
- conda-forge/linux-64::path==15.1.2=py36h5fab9bb_0
- conda-forge/linux-64::nbconvert==6.0.7=py36h5fab9bb_3
- conda-forge/linux-64::distributed==2021.2.0=py36h5fab9bb_0
- conda-forge/noarch::anaconda-client==1.7.2=py_0
- conda-forge/noarch::aioitertools==0.7.1=pyhd8ed1ab_0
- conda-forge/linux-64::matplotlib-base==3.3.4=py36hd391965_0
- conda-forge/linux-64::pluggy==0.13.1=py36h5fab9bb_4
- conda-forge/noarch::black==20.8b1=py_1
- conda-forge/linux-64::blaze==0.11.3=py36_0
- conda-forge/noarch::pyls-spyder==0.3.2=pyhd8ed1ab_0
- conda-forge/noarch::odo==0.5.1=py_1
- conda-forge/linux-64::keyring==22.0.1=py36h5fab9bb_0
- conda-forge/noarch::anaconda-project==0.9.1=pyhd8ed1ab_0
- conda-forge/noarch::importlib_metadata==3.7.0=hd8ed1ab_0
- conda-forge/linux-64::jupyter==1.0.0=py36h5fab9bb_6
- conda-forge/noarch::jupyterlab_server==2.3.0=pyhd8ed1ab_0
- conda-forge/noarch::seaborn-base==0.11.1=pyhd8ed1ab_1
- conda-forge/noarch::imageio==2.9.0=py_0
- conda-forge/noarch::numpydoc==1.1.0=py_1
- conda-forge/linux-64::yarl==1.6.3=py36h8f6f2f9_1
- conda-forge/noarch::jsonschema==3.2.0=py_2
- conda-forge/noarch::flask==1.1.2=pyh9f0ad1d_0
- conda-forge/noarch::seaborn==0.11.1=hd8ed1ab_1
- conda-forge/noarch::helpdev==0.7.1=pyhd8ed1ab_0
- conda-forge/linux-64::nb_conda==2.2.1=py36h5fab9bb_4
- conda-forge/noarch::nbclassic==0.2.6=pyhd8ed1ab_0
- conda-forge/noarch::sphinx==3.5.1=pyhd8ed1ab_0
- conda-forge/noarch::jupyterlab_launcher==0.13.1=py_2
- conda-forge/linux-64::spyder==4.2.0=py36h5fab9bb_0
- conda-forge/linux-64::importlib-metadata==3.7.0=py36h5fab9bb_0
- conda-forge/linux-64::pytest==6.2.2=py36h5fab9bb_0
- conda-forge/noarch::pyls-black==0.4.6=pyh9f0ad1d_0
/ ^C
failed with initial frozen solve. Retrying with flexible solve.
CondaError: KeyboardInterrupt
Note: you may need to restart the kernel to use updated packages.

故障根因

报错列出的所有冲突包全是Python3.6版本的依赖,说明当前选用的conda_python3是SageMaker预置的老旧Python3.6环境,出厂时就混合了conda默认源和conda-forge源的包,依赖树已经损坏。直接执行conda install gcc会触发全量依赖一致性校验,不仅求解速度极慢,还会报环境不一致错误。
另外SageMaker底层的Amazon Linux系统本身已经预装了gcc环境,完全满足Prophet的编译要求,不需要重复通过conda安装gcc。

解决方法

按优先级从高到低选即可:

方案1:切换到新版预置内核(最省事,零冲突)

老版py36环境的混源问题是出厂自带的,没必要硬修:

  • 关闭当前Notebook,在启动页选择Python3.10及以上版本的conda_python3内核新建Notebook
  • 新环境已经预装了完整的编译工具链,不需要单独装gcc,直接执行%conda install -c conda-forge prophet -y即可完成安装,重启内核后就能正常导入使用

方案2:复用系统gcc,跳过conda依赖校验(适合必须用老环境的场景)

如果不能切换当前py36内核,不用在conda里装gcc:

  1. 先执行!gcc --version验证系统gcc存在,正常会输出版本号信息
  2. 跳过conda严格依赖校验直接安装Prophet:
    %conda install -c conda-forge prophet --no-deps -y
    
  3. 补装Prophet运行必需的Python依赖:
    %pip install pystan==2.19.1.1 numpy pandas matplotlib
    
  4. 重启内核即可正常使用Prophet

方案3:修复老环境依赖(耗时长,不推荐)

如果一定要在当前老环境里通过conda安装gcc,先统一源再修复依赖:

  1. 先配置conda仅使用conda-forge源,开启严格通道优先级:
    !conda config --remove-key channels
    !conda config --add channels conda-forge
    !conda config --set channel_priority strict
    
  2. 执行全量环境更新修复损坏的依赖树,过程大概10-15分钟,不要手动中断:
    %conda update --all -y
    
  3. 修复完成后再执行%conda install gcc -y就不会报环境不一致错误

避坑提示

不要在老版py36的conda环境里强行求解依赖,很容易把Jupyter本身的依赖搞坏,导致内核连接失败、Notebook无法使用的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 18:22:20