Conda vs pip 解决复杂的依赖树

Conda vs pip solving complex dependency trees

我记得 conda 当我创建具有多达一百个依赖项的相当复杂的环境时,求解器更强大/产生更正确的结果。

这些年来 pip 求解器有改进吗?我手边没有很好的例子,但据我所知,如果有

(简化示例),pip 做得不好,而 conda 总是生成正确解决的环境。

pip 求解器不足时,是否有任何(已记录或未记录)示例?例如。就像上面的例子一样。

ps。随着最近来自 Anaconda, Inc. 的许可变更,我有一个客户正在考虑标准化 pip 并放弃 conda

pip 在解决瞬态依赖性方面做得不好。

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

The current resolution logic has the following characteristics:

  • Only one top level specification of a requirement (otherwise pip raises a "double requirement" exception) "- first found wins" behavior for dependency requirements/constraints, which results in not respecting all constraints. pip 10+ print a warning when this occurs.

讨论过here

pip一直在努力解决这个问题,新的pip 20.3实现了new solver that should address this, but still has its own issues.