Сбой ядра R при загрузке пакета R с использованием rpy2 - PullRequest
1 голос
/ 29 октября 2019

Прежде всего, я новичок в rpy2 / jupyter, поэтому, пожалуйста, не судите меня, если это неправильное место, чтобы задать мой вопрос.

Я пытаюсь настроить интегрированный рабочий процессдля анализа данных с использованием R и Python, и я сталкиваюсь со следующей ошибкой:

Я нахожусь на Ubuntu 19.04. запуск среды conda с использованием Jupyter 1.0.0, Python 3.7.4, R 3.5.1, r-irkernel 1.0.2 и rpy2 3.1.0, и я установил R-пакет Seurat через R.

Когда ясоздать блокнот Jupyter, используя ядро ​​R, я могу отлично загрузить Seurat с library(Seurat).

Я также могу использовать R-код в python, используя rpy2 и rmagic, например:

%load_ext rpy2.ipython
%%R
data(allen, package = 'scRNAseq')
adata_allen <- as(allen, 'SingleCellExperiment')

Однако, когда я пытаюсь загрузить Seurat, используя rpy2, ядро ​​вылетает:

%%R
library(Seurat)

И я получаю следующее сообщение:

Перезапуск ядра
Ядрокажется, умер. Он автоматически перезапустится

Jupyter выдает следующее сообщение в командной строке:

[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 можно найти в прилагаемом текстовом файле .

Я просто не могу понять, в чем причина проблемы. Есть ли способ получить более подробное сообщение об ошибке от Jupyter?

Ваша помощь будет принята с благодарностью!

С уважением, Феликс

1 Ответ

0 голосов
/ 02 ноября 2019

Пакет R Seurat использует другой пакет R, называемый reticulate, предоставляющий мост к Python из R.

К сожалению, всякий раз, когда задействованы rpy2 и reticulate, R заканчивается тем, что становитсяинициализируется дважды, что неизбежно приводит к segfault. Это все еще открытая ошибка на момент написания. Отслеживание проблем на стороне rpy2 (здесь можно найти ссылку на сторону отслеживания reticulate):

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...