Anaconda提示符执行conda update --all时出现RemoveError错误求助
我来帮你搞定这个问题!这个错误通常是因为conda update --all会尝试把conda自身也纳入更新队列,但由于依赖冲突或者channel配置的问题,导致conda计划删除当前版本却找不到合适的新版本来替换。下面是几个经过社区验证的解决方法,按顺序尝试即可:
先单独更新conda本身
先确保conda自身是最新版本,再更新其他包,能有效避免冲突。在Anaconda提示符中执行:conda update conda等conda更新完成后,再运行全量更新命令:
conda update --all禁用channel的strict优先级
有时候默认的strict优先级设置会让conda无法匹配到合适的conda版本,你可以先关闭这个设置:conda config --set channel_priority false之后再尝试
conda update --all。如果后续需要恢复默认配置,执行:conda config --set channel_priority strict通过conda-forge更新conda
如果默认channel的conda版本有问题,试试用社区维护的conda-forge channel来更新:conda update -c conda-forge conda完成后再执行全量更新。
修复conda环境到初始状态
如果当前环境的依赖已经混乱,可以尝试把环境恢复到初始安装状态:conda install --revision 0注意:这个操作会重置你的环境,之前手动安装的包会被清除,记得提前用
conda env export > environment.yml导出环境配置,方便后续恢复。重装Anaconda(终极方案)
如果上面的方法都没效果,那最稳妥的方式就是卸载当前Anaconda,下载最新版本重新安装。卸载前别忘了备份你的环境配置,重装后用conda env create -f environment.yml就能快速恢复之前的环境。
内容的提问来源于stack exchange,提问作者Mohammad Farzanullah

