我正在尝试创建一个简单的环境:
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
to my_env.yaml
,错误会更改为另一个包。到底是怎么回事?听起来像我的conda
or mamba
安装有问题。我试过了conda clean -a
但问题仍然存在。
知道为什么会发生这种情况吗?
Conda 上的 RStudio 很旧
也许是冲突报告中的一个错误,但是,稍微深入一下依赖项兔子洞,它确实看起来无法令人满意。具体来说,您想要的 Bioconductor 包需要 R 4.1,并且r-base=4.1.0
有要求icu >=68.1,<69.0a0
.
另一方面,rstudio
has a qt
依赖性,而这又取决于icu
。但是,由于所有版本rstudio
Anaconda Cloud 上的服务没有维护,它们相当旧,所以你要么最终得到
-
rstudio =1.1.456 -> qt =5.6.* -> icu >=58.2,<59.0a0
(via defaults
)
-
rstudio =1.2.502 -> qt >=5.9.4,<5.10.0a0] -> icu >=64.2,<65.0a0
(via rdonnelly
)
其中每一项都禁止使用 R 4.1。
从技术上讲,您可以尝试安装旧版本mixomics
,但这里更重要的一点是:不要通过 Conda 安装 RStudio.
使用本机 RStudio
一般来说,不应将 RStudio 等基础设施安装到类似内核的环境中。在本机级别安装一次,然后通过在激活的环境下启动 RStudio 来加载环境。看这个答案 https://stackoverflow.com/a/62737170/570918有关将 Conda R 环境加载到本机 RStudio 会话中的说明。
补充笔记
Bioconda 有非常具体的渠道要求,具体来说,所有软件包都是用strict
通道优先级使用顺序
conda-forge > bioconda > defaults
不遵循此通道顺序可能会导致未定义的行为。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)