首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R内核在使用rpy2加载R包时崩溃

R内核在使用rpy2加载R包时崩溃
EN

Stack Overflow用户
提问于 2019-10-29 16:19:18
回答 5查看 1.7K关注 0票数 3

首先,我是rpy2 / jupyter的新手,所以如果这里不是问我问题的地方,请不要评判我。

我试图使用R和Python建立一个用于数据分析的集成工作流,并遇到以下错误:

我在Ubuntu 19.04。使用木星1.0.0、Python3.7.4、R3.5.1、irkernel 1.0.2和rpy2 3.1.0运行conda环境,并通过R安装了R包Seurat。

当我使用R内核创建一个木星笔记本时,我可以用library(Seurat)加载Seurat。

我还可以使用rpy2和rmagic在python中使用R代码,如:

代码语言:javascript
运行
复制
%load_ext rpy2.ipython
代码语言:javascript
运行
复制
%%R
data(allen, package = 'scRNAseq')
adata_allen <- as(allen, 'SingleCellExperiment')

但是,当我试图使用rpy2加载Seurat时,内核会崩溃:

代码语言:javascript
运行
复制
%%R
library(Seurat)

我得到了以下信息:

内核重新启动 内核似乎已经死了。它将自动重新启动

木星在命令行中给出了以下消息:

代码语言:javascript
运行
复制
[I 16:39:01.388 NotebookApp] KernelRestarter: restarting kernel (1/5), keep random ports
kernel 23284ec0-63d5-4b61-9ffa-b52d19851eab restarted

注意,其他库(如library(dplyr) )使用rpy2加载得很好。

我的完整conda环境可以在附加的文本文件中找到。

我只是不知道是什么引起了这个问题。有没有办法从木星那里得到更详细的错误信息?

您的帮助将不胜感激!

问候费利克斯

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2019-11-02 15:29:51

R包Seurat正在使用另一个名为reticulate的R包,它提供了一个从R到Python的桥梁。

不幸的是,每当涉及rpy2reticulate时,R都会被初始化两次,这不可避免地会导致分段错误。在编写本报告时,这仍然是一个开放的bug。rpy2端的问题跟踪(可以在那里找到到跟踪的reticulate端的链接)如下:

https://bitbucket.org/rpy2/rpy2/issues/456/reticulate-rpy2-sharing-r-process

票数 3
EN

Stack Overflow用户

发布于 2020-01-06 01:16:15

我对你也有同样的问题。但我降到了3.0.2,你的问题就解决了。要用conda为rpy2使用用户定义的R内核,首先(在imoort rpy2之前)运行代码

代码语言:javascript
运行
复制
# user defined R installation
import os
os.environ['R_HOME'] = '/path/to/miniconda/envs/seurat/lib/R' #path to your R installation
os.environ['R_USER'] = '/path/to/miniconda/lib/python3.7/site-packages/rpy2' #path depends on where you installed Python.
票数 0
EN

Stack Overflow用户

发布于 2022-01-27 12:45:37

这对我起了作用,同时也面临着内核在从rpy2导入robjects时死掉的问题:

代码语言:javascript
运行
复制
import os
os.environ['R_HOME'] = '/Users/<your user>/anaconda3/envs/<env name>/lib/R'

# import your desired module
from rpy2.robjects.packages import importr
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58611486

复制
相关文章

相似问题

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