为了账号安全,请及时绑定邮箱和手机立即绑定

创建 conda 环境:“发现冲突!” 当解决环境和“寻找最短冲突路径”永远运行时

创建 conda 环境:“发现冲突!” 当解决环境和“寻找最短冲突路径”永远运行时

繁花不似锦 2022-06-14 16:30:03
我获得了一个environment.ubuntu.yml能够创建 conda 环境的文件。但是,运行conda create env --file environment.ubuntu.yml我得到以下输出:conda env create --file environment.ubuntu.ymlCollecting package metadata (repodata.json): doneSolving environment: - Found conflicts! Looking for incompatible packages.This can take several minutes.  Press CTRL-C to abort.Examining fontconfig:   5%|▉                 | 10/202 [00:00<00:00, 5393.91it/ ]Comparing specs that have this dependency:   0%|         | 0/12 [00:00<?, ?it/s]Finding shortest confli|  path for fontconfig==2.13.1=he4413a7_1000:  12%|▏| 1/8Finding shortest conflict path for fontconfig==2.13.1=he4413a7_1000:  25%|▎| 2/8Finding shortest conflict pa/  for fontconfig[version='>=2.13.0,<3.0a0']:  25%|Finding shortest conflict path for fontconfig[version='>=2.13.0,<3.0a0']:  38%|Finding shortest conf- ct path for fontconfig[version='>=2.11.1']:  38%|▍| 3/8 [Finding shortest conflict path for fontconfig[version='>=2.11.1']:  50%|▌| 4/8 [Finding shortest conflict pa|  for fontconfig[version='>=2.12.4,<3.0a0']:  50%|...这种Finding shortest conflict path情况持续了很长时间 - 显然它正在尝试解决一些依赖问题。运行 2 小时尚不清楚它是否会停止。我的问题是:这里发生了什么,我可以以某种方式手动加速这个过程,例如通过删除不必要的依赖项?由于我没有创建环境,所以我不知道哪些是真正必要的。我好奇的原因是因为它正在检查冲突路径,比如当fontconfig[version='>=2.12.6,<3.0a0']我安装它时dependencies2.13.12.13.1请在 .yml 文件下方查找以供参考。
查看完整描述

4 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

此错误和随后的行为很可能来自Anaconda 错误,该错误有时会导致本地环境不一致。截至 2020 年 1 月 26 日,该错误尚未解决。

对我来说,同样的问题在 Mac 上也很明显。


查看完整回答
反对 回复 2022-06-14
?
翻阅古今

TA贡献1780条经验 获得超5个赞

一般来说,这个问题的答案是你应该从头开始创建你的 .yml,只有所需的通道和约束。您应该放宽版本限制,使它们看起来像 1.19 而不是 1.19.10


然而,尽管遵循了这个建议,我现在几乎完全有你的问题。它在 fontconfig 上花了很多时间,我在放弃之前把它留了一夜。我的规格很简单:


channels:

  - conda-forge

  - usgs-astrogeology

  - defaults

dependencies:

  - python=3.6

  - isis3

  - gdal=2.3

当我弄清楚时,我会编辑它。


编辑:这里正在讨论这个问题(特定于我试图设置的软件,可能对其他人没有帮助)https://github.com/USGS-Astrogeology/ISIS3/issues/3570


查看完整回答
反对 回复 2022-06-14
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

对我来说,将以下内容添加到 yaml 文件中有效:

channels:
  - conda-forge
  - defaults
  - conda-forge/label/broken


查看完整回答
反对 回复 2022-06-14
?
GCT1015

TA贡献1827条经验 获得超4个赞

就我而言,我已经替换了一些构建版本(...=he4413a7_1000部分),因为原始文件中的版本已重新标记为brokenon conda-forge。但是,即使这些依赖项的版本号没有改变,它们的子依赖项也发生了变化,从而导致了所有这些冲突。底线是:不要手动处理依赖关系。

我通过保留原始构建版本规范并添加conda-forge/labels/broken到文件的channels一部分来解决了这个问题.yml


查看完整回答
反对 回复 2022-06-14
  • 4 回答
  • 0 关注
  • 778 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信