【发布时间】:2017-12-11 17:28:11
【问题描述】:
我正在尝试从 CRAN 打包一些 R 包以在 conda 环境中使用,因为我将 Python 和 R 包的组合用于生物信息学管道。由于其他依赖关系,我需要将 R 保持在 3.3 版本
我用我想要的 Python 和 R 版本做了一个全新的环境:
$ conda create -n bioinfo python=3.6.3 r=3.3.2
root 环境中没有安装 R。然后我按照 conda 骨架的说明进行操作:
(bioinfo)$ conda skeleton cran rootSolve
(bioinfo)$ conda skeleton cran rootSolve
(bioinfo)$ conda build r-rootsolve
由于某种原因,这不断出现 R3.4 依赖项,即使根据 CRAN,rootSolve 包只需要 R>=2.01!这是哪里来的??
将安装以下新软件包: r-base: 3.4.2-haf99962_0
虽然构建包实际上并没有改变在我的环境中运行的 R 的版本,但包并没有加载。请问有什么想法吗?
R 版本 3.3.2 (2016-10-31) -- “真诚的南瓜补丁”
> library('rootSolve')
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/usr/people/bioc1402/miniconda3/envs/bioinfo2/lib/R/library/rootSolve/libs/rootSolve.so':
/usr/people/bioc1402/miniconda3/envs/bioinfo2/lib/R/library/rootSolve/libs/rootSolve.so: undefined symbol: R_ExternalPtrAddrFn
In addition: Warning message:
package ‘rootSolve’ was built under R version 3.4.2
Error: package or namespace load failed for ‘rootSolve’
【问题讨论】:
-
我之前一定在这里说过六次,但是混合 Conda 和 CRAN 似乎效果不太好。如果可以的话,我会尽量避免错过它们。
-
好的,但是如果你想发布一个主要是 Python 包但涉及一些 R 的 Jupyter 笔记本工作流,你有什么建议?
-
使用 R 和 CRAN 中的包。
标签: python r conda bioconductor