简体   繁体   English

Package与anaconda冲突

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM