首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >rpy2.rinterface.RRuntimeError:错误:.onLoad在“hdf5r”的loadNamespace()中失败

rpy2.rinterface.RRuntimeError:错误:.onLoad在“hdf5r”的loadNamespace()中失败
EN

Stack Overflow用户
提问于 2019-01-02 19:29:50
回答 1查看 737关注 0票数 0

我编写了一个使用python3.6脚本(python 3.6)。R版本是3.5.1。当我运行importr('Seurat')时,它给出了错误:

/Users/kipnislab/anaconda3/envs/rmain/lib/python3.6/site-packages/rpy2/rinterface/init.py:146: RRuntimeWarning: Error:“Seurat”的包或命名空间加载失败:.onLoad在loadNamespace()中失败,用于“hdf5r”,详细信息:调用:RRuntimeWarning(libname,pkgname)错误:检索当前错误处理程序时出错

从中我看到importr('Seurat')需要导入hdf5r,但是它失败了。我正在虚拟conda环境中工作。启动R和运行library('Seurat')工作得很好。如果我只是打开spyder并运行importr('Seurat'),它也可以正常工作,但是当运行在终端:python seurat_clustering.py中时,它会失败,出现上面的错误。我使用conda安装了conda,也在R中安装了它,但是没有帮助。如果我在importr('hdf5r')中运行spyder,它会给出一个有趣的警告,这个警告在这里可能很重要(但不是错误,所以它实际上加载得很好):

/Users/kipnislab/anaconda3/envs/rmain/lib/python3.6/site-packages/rpy2/rinterface/init.py:146: RRuntimeWarning:错误:延迟加载数据库'/Users/kipnislab/anaconda3/envs/rmain/lib/R/library/hdf5r/R/hdf5r.rdb‘已损坏

更新

这个问题还没有解决,但我在这里发现了这个问题。下列进口产品一个接一个地造成了这个问题:

代码语言:javascript
运行
复制
import hdf5
from rpy2.robjects.packages import importr
seuratLib = importr('Seurat')

因此,有一个文件正在导入hdf5以打开文件并加载正确的数据,但由于这一点,我无法导入Seurat。我认为在导入hdf5之前应该有一种卸载Seurat的方法。

EN

回答 1

Stack Overflow用户

发布于 2019-02-04 23:05:36

最后,我通过切换导入顺序解决了这个问题:首先导入所有rpy2-related包,然后导入Seurat,然后才导入h5py (在一个单独的文件中进行数据检索)。

代码语言:javascript
运行
复制
from rpy2.robjects.packages import importr
seuratLib = importr('Seurat')
import nice_service as ns

nice_service里面我有import hdf5

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

https://stackoverflow.com/questions/54012116

复制
相关文章

相似问题

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