2017-02-21 6 views
0

Я бегу следующие команды в Python:ошибка сегментирования при импорте ggplot в питона через rpy2

from rpy2.robjects.packages import importr 
importr('ggplot2') 

Это прекрасно работает в питон-2.7.6 и rpy2-2.8.3. Однако он дает следующую ошибку при запуске на питон-2.7.8 и rpy2-2.8.5:

/usr/local/lib/python2.7/dist-packages/rpy2/rinterface/__init__.py:186: RRuntimeWarning: Error in dyn.load(file, DLLpath = DLLpath, ...) : 
unable to load shared object '/usr/local/lib/R/site-library/Rcpp/libs/Rcpp.so': 
/usr/local/lib/R/site-library/Rcpp/libs/Rcpp.so: undefined symbol: R_ClassSymbol 
warnings.warn(x, RRuntimeWarning) 
Segmentation fault (core dumped) 
+0

Я не являюсь пользователем python (пока), но практика сообщения об ошибках в мире R заключается в том, чтобы предположить, что seg-fault является ipso facto указанием ошибки, и об этом следует сообщать всем ответственным сторонам обрабатывайте их. Отчеты об ошибках для SO не рекомендуются для кода ошибки R. Это похоже на то, что у вас нет надлежащей установки Rcpp, но авторы вашего пакета Python _ должны проверять эту проблему, а не позволять ей сигнализировать с помощью ошибки seg. Добавлен тэг [rcpp], поэтому Dirk может предложить любую дополнительную информацию. –

+0

Я с @ 42 здесь. Вам, вероятно, просто нужно переустановить этот стек RPy2 и/или Rcpp. В моем поле Ubuntu (ru) ваши две строки Python работают без сбоев с Python 2.7 ... –

+0

'R_ClassSymbol' - это символ, предоставленный' libR.so', поэтому, предположительно, ваша система каким-то образом неправильно сконфигурирована таким образом, что 'rpy2 'не загружает этот общий объект. –

ответ

0
  1. rpy2 представляет собой пакет, который обеспечивает доступ к R при использовании питона. Таким образом, во-первых, убедитесь, что вы включили R-разделяемым библиотекам при компиляции вы R следующим образом: ./configure prefix = * --with-х = нет --enable-R-shlib = да
  2. макияж что вы указали следующую переменную окружения, прежде чем распространять пакет rpy2: экспорт C_INCLUDE_PATH =/путь/к/R/lib64/R/включают
  3. Последнее, но не установлены в последнюю очередь, только те пакеты, когда все это требования могут быть правильно импортированы в python с помощью importr. А если нет, возможно, вам придется переустановить пакеты R.
Смежные вопросы