我正在尝试创建一个简单的环境:
channels:
- rdonnelly
- bioconda
- anaconda
- r
- conda-forge
- defaults
dependencies:
- bioconda::bioconductor-mixomics>=6.16
- free::fonts-continuum
- rstudio
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
但是,我可以看到它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
...
Run Code Online (Sandbox Code Playgroud)
如果我添加qt=5.6到my_env.yaml,则错误会更改为另一个包。到底是怎么回事?听起来我conda的mamba安装有问题。我已经尝试过,conda clean -a但问题仍然存在。
知道为什么会发生这种情况吗?
也许是冲突报告中的一个错误,但是,稍微深入一下依赖项兔子洞,它确实看起来无法令人满意。具体来说,您想要的 Bioconductor 包需要 R 4.1,并且r-base=4.1.0具有要求icu >=68.1,<69.0a0。
另一方面,rstudio具有qt依赖关系,而该依赖关系又依赖于icu. 然而,由于rstudioAnaconda Cloud 上的所有版本都没有维护,它们相当旧,所以你要么最终得到
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 来加载环境。有关将 Conda R 环境加载到本机 RStudio 会话中的说明,请参阅此答案。
strictBioconda 有非常具体的渠道要求,具体来说,所有软件包均按照渠道优先级顺序构建
conda-forge > bioconda > defaults
Run Code Online (Sandbox Code Playgroud)
不遵循此通道顺序可能会导致未定义的行为。
| 归档时间: |
|
| 查看次数: |
4296 次 |
| 最近记录: |