Conda 安装需要永远(作为 SAT 求解器卡住)

Ste*_*nko 5 python miniconda

如何解决 conda 安装程序的问题,它需要永远解决巨大的 SAT 问题(为什么我们需要解决它们?):

DEBUG conda.common.logic:_run_sat(734): Invoking SAT with clause count: 9661561
DEBUG conda.common.logic:_run_sat(734): Invoking SAT with clause count: 5164645
DEBUG conda.common.logic:_run_sat(734): Invoking SAT with clause count: 2751948
DEBUG conda.common.logic:_run_sat(734): Invoking SAT with clause count: 1518175
DEBUG conda.common.logic:_run_sat(734): Invoking SAT with clause count: 964848
DEBUG conda.common.logic:_run_sat(734): Invoking SAT with clause count: 1249154
DEBUG conda.common.logic:_run_sat(734): Invoking SAT with clause count: 1105581
Run Code Online (Sandbox Code Playgroud)

等了半个多小时,我还能做些什么而不是重新安装它?

Rol*_*ber 9

conda当试图找出一种方法来满足已安装的软件包的所有依赖项以及要应用的更改时,可能会陷入无限循环。我在某处读到,如果两分钟内没有找到解决方案,那么再等就没有意义了。

一般来说,你可以通过更具体地表达你想要的东西来克服这种情况。例如,指定确切的版本而不仅仅是包名称。如果您不需要 conda-forge,请避免使用该通道,因为它会引入 SAT 解析器将尝试考虑的大量元数据。

这是 Anaconda 的一篇大型博客文章,其中介绍了提高性能的方法:
https ://www.anaconda.com/understand-and-improving-condas-performance/


小智 5

我通过修改 ~/.condarc 解决了这个问题

换句话说,conda-forge 太慢了,所以让求解器优先考虑默认值

通过改变这个:

auto_activate_base: false
channels:
  - conda-forge
  - defaults
channel_priority: strict
allow_conda_downgrades: true
Run Code Online (Sandbox Code Playgroud)

对此:

auto_activate_base: false
channels:
  - defaults
  - conda-forge
channel_priority: strict
allow_conda_downgrades: true
Run Code Online (Sandbox Code Playgroud)


Jus*_*ang 4

尝试:

conda update -n base -c defaults conda
Run Code Online (Sandbox Code Playgroud)