首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将CRAN包导出到Conda yaml文件?

如何将CRAN包导出到Conda yaml文件?
EN

Stack Overflow用户
提问于 2020-12-15 19:44:40
回答 2查看 142关注 0票数 0

我需要导出一个包含多个包的Conda R环境。除了一个之外,所有的都可以通过Conda通道获得,所以可以很容易地添加。问题出在BiDAG包上,它在CRAN上,但不在Conda通道上。

当我从想要导出的环境内部运行install.packages("BiDAG")时,包安装到了正确的目录中。然而,conda env export > env.yml无法识别它,因为它只跟踪由conda自己安装的包。

我尝试过用CRAN构建

代码语言:javascript
复制
conda skeleton CRAN bidag
conda build r-bidag

但这在两个包(r-graph和r-rgraphviz)上崩溃,这两个包可以从Bioconductor获得,甚至可以通过conda通道获得,但不再在CRAN上。因此,它们不被识别,构建失败。

有没有办法在.yml中使用这个CRAN包BiDAG导出conda环境?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-17 03:14:47

避免在Conda环境中使用install.packages

通常,在Conda管理的R环境中使用install.packages会使环境变得复杂,我建议您不要这么做。正如您已经发现的,Conda无法识别这些包,因此失去了Conda通过环境导出提供的重现性。此外,install.packages通常难以定位共享库和用于所有Conda包构建的构建堆栈。这可能会导致一些包出现编译、链接或其他共享库问题。

构建r-bidag

Bioconductor软件包都托管在bioconda通道上,并以bioconductor-而不是r-作为前缀。因此,应该能够通过修改来自conda skeletonmeta.yaml来构建包,将r-graphr-graphviz替换为bioconductor-graphbioconductor-graphviz。然后使用以下命令构建包

代码语言:javascript
复制
conda build --override-channels -c conda-forge -c bioconda -c defaults r-bidag

您可能还需要--R参数来指定要构建的R版本。

票数 0
EN

Stack Overflow用户

发布于 2020-12-16 23:40:48

供将来参考:这似乎是不可能的。一个更好的解决方案是使用容器系统,如Docker或Singularity,这就是我要做的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65305195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档