包与anaconda冲突

Package conflict with anaconda

我正在尝试使用 Anaconda 在我的本地 Ubuntu 上获取一个名为 BEAST 的程序,但收到此消息:

Package libgcc-ng conflicts for: 
beast2 -> beagle-lib -> libgcc-ng[version='>=4.9|>=7.3.0|>=7.2.0'] 
python=3.7 -> libgcc-ng[version='>=7.2.0|>=7.3.0']

我以为我有 Anaconda 来摆脱包冲突

这个冲突是什么意思?

似乎两个程序对包版本的优先级不同,那又怎样?这两个项目不能以不同的优先级继续他们的生活吗?

顺便说一句:我该如何解决这个问题?

编辑:

 conda create -n test python=3.7 beast2

给我这个:

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Package libffi conflicts for:
python=3.7 -> libffi[version='>=3.2.1,<3.3a0|>=3.3,<3.4.0a0']
beast2 -> gettext[version='>=0.19.8.1,<1.0a0'] -> libffi[version='>=3.2.1,<3.3a0']

TLDR

conda create -n beast -c conda-forge -c bioconda python=3.7 beast2

更长的版本

通过告诉 conda 它可以访问 conda-forge,它有一些额外的选项来解决依赖冲突。但是,这并不能真正解释为什么会发生这种情况:

$ conda create -n beast python=3.7 libgcc-ng=7.3 libstdcxx-ng=7.3
$ activate beast
$ conda install -c bioconda beast2
Package libstdcxx-ng conflicts for:
python=3.7 -> libstdcxx-ng[version='>=7.2.0|>=7.3.0']
beast2 -> beagle-lib -> libstdcxx-ng[version='>=7.3.0|>=7.5.0']

不清楚为什么这些依赖关系不满足,因为我们已经安装了 libstdcxx-ng 7.3 版。

备选

如果您改用 mamba 来制作环境,您会得到更有帮助的反馈:

$ conda install mamba
$ mamba create -n beast-mamba python=3.7 beast2
...
Problem: nothing provides requested beast2
...
$ mamba create -n beast-mamba -c bioconda python=3.7 beast2
...
Encountered problems while solving.
Problem: nothing provides openjdk 8.0* zulu8* needed by beast2-2.4.5-0
...
$ mamba create -n beast-mamba -c bioconda -c conda-forge python=3.7 beast2
...
Success