2014-02-17 2 views
3

Я получаю сообщение об ошибке при попытке импортировать rpy2. Вот код и ошибка.rpy2 импорт не работает

>>> import pandas.rpy.common 
Traceback (most recent call last): 

File "C:\PF\WinPython-64bit-3.3.3.3\python-3.3.3.amd64\lib\site-packages\IPython\core\interactiveshell.py", line 2828, in run_code 
    exec(code_obj, self.user_global_ns, self.user_ns) 

File "<ipython-input-148-c258a0f70d44>", line 1, in <module> 
import pandas.rpy.common 

File "C:\PF\WinPython-64bit-3.3.3.3\python-3.3.3.amd64\lib\site-packages\pandas\rpy\common.py", line 14, in <module> 
from rpy2.robjects.packages import importr 

ImportError: No module named 'rpy2' 

В чем может быть проблема? Я использую питона версии 3.3.3 и панд версии 0.13.1

EDIT

Пытался установить rpy2 отдельно.

  1. Непосредственно с помощью python setup.py install дал мне ошибку, что os не имеет модуль popen3.

  2. Непосредственно установка exe (rpy2-2.3.9.win32-py3.3.exe) с сайта Christoph Gohlke http://www.lfd.uci.edu/~gohlke/pythonlibs/ выполняется нормально. Но если я пытаюсь сделать import pandas.rpy.common as com тогда я получаю следующую ошибку (проблема с загрузкой в ​​DLL в from rpy2.rinterface._rinterface import *:.

    Traceback (most recent call last): 
        File "C:\PF\WinPython-64bit-3.3.3.3\python-3.3.3.amd64\lib\site-packages\IPython\core\interactiveshell.py", line 2828, in run_code 
    exec(code_obj, self.user_global_ns, self.user_ns) 
    
        File "<ipython-input-10-63ebebefea80>", line 1, in <module> 
    import pandas.rpy.common as com 
    
        File "C:\PF\WinPython-64bit-3.3.3.3\python-3.3.3.amd64\lib\site- packages\pandas\rpy\common.py", line 14, in <module> 
    
    from rpy2.robjects.packages import importr 
    
        File "C:\PF\WinPython-64bit-3.3.3.3\python-3.3.3.amd64\lib\site-packages\rpy2\robjects\__init__.py", line 15, in <module> 
    
        import rpy2.rinterface as rinterface 
        File "C:\PF\WinPython-64bit-3.3.3.3\python-3.3.3.amd64\lib\site-packages\rpy2\rinterface\__init__.py", line 103, in <module> 
    
        from rpy2.rinterface._rinterface import * 
    ImportError: DLL load failed: %1 is not a valid Win32 application. 
    

EDIT

решаемые это, наконец, кажется, как добавление R_HOME и Переменные среды среды R_USER сделали трюк.

+0

Для получения информации о версии (например, о необходимости версии R 3.2), см. Также http://askubuntu.com/a/681142/6130 – nealmcb

ответ

3

RPy2 - отдельный проект от Pandas (домашняя страница here), поэтому вам придется устанавливать его отдельно. pip install rpy2, затем перезапустите Python и повторите попытку.

0

Это похоже на панды интерфейс на rpy2. Кроме того, вам необходимо установить rpy2 в вашей системе. У меня нет rpy2, так что это было легко для меня, чтобы проверить это:

In [1]: import pandas.rpy.common 
(...) 
ImportError: No module named rpy2.robjects.packages 


In [2]: import rpy2 
(...) 
ImportError: No module named rpy2 

Я установил его с помощью пип:

$ pip install rpy2 

In [1]: import pandas.rpy.common 

Это работает! Это import rpy2 работает для вас, но import pandas.rpy.common делает не, тогда проблема может быть более тонкой.

+0

Я тоже так пробовал. Это дало мне ошибку, что rpy2 нуждается в Python 2.7 или что-то подобное. После этого я проверил документацию rpy2, и он упоминает это здесь: http://rpy.sourceforge.net/rpy2/doc-2.3/html/overview.html#background. Я думаю, что большая проблема заключается в том, что я использую Python 3.3, а rpy2, вероятно, не работает с Python 3 или выше. – uday

+0

@uday Rpy2 2.3.x работает с Python 3.3. – lgautier

+0

@Igautier, я вручную распаковал tar-файл rpy2-2.3.1, а затем установил setup.py python. Установщик дал мне ошибку после того, как вы выполнили штраф за несколько шагов: «Объект AttributeError: 'module' не имеет атрибута 'popen3' – uday

0

В моем случае это изначально не помогло установить его с помощью conda. Я решил это, сначала изменив активную среду.

source activate [environment Name] 
conda install -c r rpy2=2.8.5 
0

Это не может обратиться непосредственно к вашему вопросу, но с тех пор панды и rpy2 модернизировали, их интерфейс изменился. Для того, чтобы установить его, вы теперь должны:

from rpy2.robjects import r, pandas2ri 

pandas2ri.activate() 

Теперь для того, чтобы изменить dataframe панды в R dataframe, необходимо использовать pandas2ri.py2ri(), или использовать pandas2ri.ri2py(), если вы хотите изменить R dataframe в панд dataframe. Дополнительную информацию можно найти по адресу: https://pandas.pydata.org/pandas-docs/stable/r_interface.html.

0

Недавно я столкнулся с подобной проблемой. Я пытался установить rpy2 с помощью anaconda версии python (3.6.3). Ниже упоминается команда работала для меня,

* python3 -m conda install rpy2 
0

В моем случае это сработало, когда я установил его в Anaconda Prompt с командой:

conda install -m rpy2

После этого я должен был двигаться rpy2 каталог из rpy2-2.9.0-py3.6-win32.egg (папка, которая была установлена), потому что она не распознала его после установки ... и переместила только rpy2 папку по следующему пути:

C: \ Users .. \ Anaconda3 \ Lib \ сайт-пакеты (все пакеты называются с)

Это решаемая задача для меня.

Смежные вопросы