微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

不满意的 conda 包,虽然在 conda-forge 中发现了包:package XXX 需要 package YYY,但是没有一个提供者可以安装

如何解决不满意的 conda 包,虽然在 conda-forge 中发现了包:package XXX 需要 package YYY,但是没有一个提供者可以安装

我正在尝试创建一个简单的环境:

channels:
- rdonnelly
- bioconda
- anaconda
- r
- conda-forge
- defaults

dependencies:
- bioconda::bioconductor-mixomics>=6.16
- free::fonts-continuum
- rstudio

mamba env create -f my_env.yaml -n some_env,之后我丢失了包裹:

Looking for: ["bioconda::bioconductor-mixomics[version='>=6.16']",'free::fonts-continuum','rstudio']


Encountered problems while solving:
  - package rstudio-1.0.153-1 requires qt 5.6.*,but none of the providers can be installed

但是,我可以看到 qt 存在于 conda-forge 中:

mamba search conda-forge::qt

# returns
Loading channels: done
# Name                       Version           Build  Channel             
qt                             4.8.7      ha8c56c7_9  conda-forge         
qt                             5.6.2   hbe13537_1012  conda-forge         
qt                             5.6.2   hce4f676_1013  conda-forge         
qt                             5.6.2   hf516382_1009  conda-forge         
qt                             5.6.2   hf516382_1010  conda-forge         
qt                             5.6.2   hf516382_1011  conda-forge         
qt                             5.9.7      h0c104cb_3  conda-forge         
qt                             5.9.7      h52cfd70_2  conda-forge         
...

如果我将 qt=5.6 添加my_env.yaml,另一个包的错误会更改。到底是怎么回事?听起来我的 condamamba 安装有问题。我试过 conda clean -a 但问题仍然存在。

知道为什么会这样吗?

解决方法

Conda 上的 RStudio 很旧

也许是冲突报告中的一个错误,但是,稍微深入依赖兔子洞,它确实似乎无法令人满意。具体来说,您想要的 Bioconductor 包需要 R 4.1,而 r-base=4.1.0icu >=68.1,<69.0a0 的要求。

另一方面,rstudio 有一个 qt 依赖项,而后者又依赖于 icu。但是,由于 Anaconda Cloud 上 rstudio 的所有版本都没有维护,它们相当旧,所以你要么以

  • rstudio =1.1.456 -> qt =5.6.* -> icu >=58.2,<59.0a0(通过defaults
  • rstudio =1.2.502 -> qt >=5.9.4,<5.10.0a0] -> icu >=64.2,<65.0a0(通过rdonnelly

每个都禁止使用 R 4.1。

从技术上讲,您可以尝试安装旧版本的 mixomics,但这里更重要的一点是:不要通过 Conda 安装 RStudio

使用原生 RStudio

一般来说,不应将 RStudio 之类的基础设施安装到类似内核的环境中。在本机级别安装一次,然后通过在环境激活的情况下启动 RStudio 来加载环境。有关将 Conda R 环境加载到本机 RStudio 会话中的说明,请参阅 this answer


附加说明

Bioconda 有非常具体的渠道要求,具体来说,所有软件包都使用 strict 渠道优先级使用顺序构建

conda-forge > bioconda > defaults

不遵循此频道顺序可能会导致未定义的行为。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。