Solving environment: failed with initial frozen solve. Retrying with flexible solve.

遇到上述问题:

 解决方案:

# 更新conda
conda update -n base conda
conda update -all
# 修改频道
conda config --add channels conda-forge
conda config --set channel_priority flexible
# 安装成功!


 

我了解conda-forge是为了建立和维护软件包而发起的。

但是,当构建Anaconda Python环境时,如果两个存储库中都存在包,我们如何知道何时使用'conda-forge'还是'conda install'?例如,Django可以安装'conda install'和'conda-forge'。

我们应该使用哪一个?有关系吗?

因此​​conda-forge​​是可以安装软件包的附加渠道。从这个意义上说,它不是比默认频道或其他数百(数千个)频道中人们发布套餐所特有的更特别的。如果在​​https://anaconda.org​​注册并上传自己的Conda软件包,可以添加自己的频道。

有两种方法可以更改频道的选项。一种是每次安装包时指定一个频道:

​conda install -c some-channel packagename​

当然,该套件必须存在于该频道上。如果经常使用相同的频道,那么可能需要将其添加到配置中。你可以写

​conda config --add channels some-channel​

将通道添加​​some-channel​​到​​channels​​配置列表的顶部。这给出​​some-channel​​了最高优先级(当多个通道具有特定包时,优先级(​​部分地​​)确定选择哪个通道)。要将频道添加到列表的末尾并为其指定最低优先级,请键入

​conda config --append channels some-channel​

如果您想要删除添加的频道,可以通过书写来完成

​conda config --remove channels some-channel​

看到

​conda config -h​

获得更多选择。

综上所述,使用该​​conda-forge​​频道取代​​defaults​​Continuum维护的频道有三个主要原因:

  1. ​conda-forge​可能比​​defaults​​频道更新
  2. ​conda-forge​​频道上有不可用的软件包​​defaults​
  3. 更愿意使用依赖项,如​​openblas​​(from ​​conda-forge​​)而不是​​mkl​​(from ​​defaults​​)。