Anaconda Conda与pip求解复杂依赖树

Anaconda Conda与pip求解复杂依赖树,anaconda,conda,Anaconda,Conda,我记得当我创建具有多达一百个依赖项的相当复杂的环境时,condasolver更健壮/产生了更正确的结果 pip解算器多年来是否有所改进?我手头上没有一个好的例子,但根据我记忆中的情况,如果有 来自包A的暂时依赖项 与来自B的临时依赖项包冲突 (简化的示例),pip做得不好,而conda总是生成正确解决的环境 当pipsolver不足时,是否有任何(记录或未记录的)示例?就像上面的例子一样 注:由于Anaconda,Inc.最近的许可证变更,我有一位客户正在考虑对pip进行标准化,而放弃con

我记得当我创建具有多达一百个依赖项的相当复杂的环境时,condasolver更健壮/产生了更正确的结果

pip
解算器多年来是否有所改进?我手头上没有一个好的例子,但根据我记忆中的情况,如果有

  • 来自包A的暂时依赖项
  • 与来自B的临时依赖项包冲突
(简化的示例),
pip
做得不好,而
conda
总是生成正确解决的环境

pip
solver不足时,是否有任何(记录或未记录的)示例?就像上面的例子一样


注:由于Anaconda,Inc.最近的许可证变更,我有一位客户正在考虑对
pip
进行标准化,而放弃
conda

pip在解决暂时依赖方面做得不好

pip的依赖项解析算法不是一个完整的解析器

当前分辨率逻辑具有以下特征:

  • 一个需求只有一个顶级规范(否则pip会引发“双需求”异常)“-首先找到的行为胜出” 对于依赖性需求/约束,这将导致 尊重所有限制。出现这种情况时,pip 10+打印警告
讨论

pip一直在努力解决这个问题,新的PIP20.3实现了一个解决方案,但是。

有一个通读(long)。