[英]Package conflict with anaconda
I'm trying to get a program called BEAST on my local Ubuntu using Anaconda but get this message:我正在尝试使用 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']
I thought I had Anaconda to be rid of package conflicts我以为我有 Anaconda 摆脱 package 冲突
What does this conflict mean?这个冲突是什么意思?
Seems like two programs are prioritizing a package version differently, so what?似乎两个程序对 package 版本的优先级不同,那又怎样? Can't these two programs continue with their lives with different priorities?这两个程序不能以不同的优先级继续他们的生活吗?
And by the way: how would I solve this?顺便说一句:我将如何解决这个问题?
Edit:编辑:
conda create -n test python=3.7 beast2
gives me this:给我这个:
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 TLDR
conda create -n beast -c conda-forge -c bioconda python=3.7 beast2
Longer version更长的版本
By telling conda that it can visit conda-forge, it has some extra options to resolve the dependency conflicts.通过告诉 conda 它可以访问 conda-forge,它有一些额外的选项来解决依赖冲突。 However, that doesn't really explain why this happens:但是,这并不能真正解释为什么会发生这种情况:
$ 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']
It isn't clear why these dependencies aren't satisfied, since we already installed libstdcxx-ng version 7.3.目前尚不清楚为什么不满足这些依赖项,因为我们已经安装了 libstdcxx-ng 7.3 版。
Alternative选择
If you instead use mamba to make the environment, you get slightly more helpful feedback:如果您改为使用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
You can tell conda to search packages in coda-forge like this:你可以告诉 conda 在 coda-forge 中搜索包,如下所示:
conda config --append channels conda-forge
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.