2014-02-17 105 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' 

可能是什麼問題?我使用的Python 3.3.3版和熊貓版本0.13.1

編輯

試過單獨安裝rpy2。

  1. 直接使用python setup.py install給了我一個錯誤,os沒有一個模塊popen3

  2. 從Christoph Gohlke的站點http://www.lfd.uci.edu/~gohlke/pythonlibs/直接安裝exe(rpy2-2.3.9.win32-py3.3.exe)運行正常。但是,如果我嘗試做import pandas.rpy.common as com然後我得到以下錯誤(與加載DLL問題在​​:

    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. 
    

編輯

終於解決了這個問題好像加入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,所以很容易讓我檢查:

$ pip install rpy2 

In [1]: import pandas.rpy.common 

它的工作原理:

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


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

我使用PIP安裝它!它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,我手動解壓縮rpy2-2.3.1 tar文件,然後執行python setup.py install。安裝運行罰款後給我一個錯誤幾個步驟:「AttributeError:'模塊'對象沒有屬性'popen3' – uday

0

在我的情況下,它最初並沒有與conda安裝它。我通過首先改變活躍的環境來解決這個問題。

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

這可能不直接適用於您的問題,但自pandas和rpy2升級後,它們的界面已更改。爲了設置它,你現在必須:現在

from rpy2.robjects import r, pandas2ri 

pandas2ri.activate() 

,爲了改變大熊貓數據幀到一個R數據框,必須使用pandas2ri.py2ri(),或使用pandas2ri.ri2py()如果你想改變的R數據框變成熊貓數據幀。更多信息請見https://pandas.pydata.org/pandas-docs/stable/r_interface.html

0

我最近遇到類似的問題。我試圖使用python的anaconda版本安裝rpy2(3.6.3)。 下面,提到命令工作對我來說,

* python3 -m conda install rpy2 
0

在我來說,當我在蟒蛇安裝它提示了命令它的工作:

conda install -m rpy2

之後,我不得不搬到rpy2目錄從rpy2-2.9.0-py3.6-win32.egg(安裝到的文件夾)導致安裝後無法識別它...並且僅將rpy2文件夾移動到以下路徑:

C:\用戶.. \ Anaconda3 \ LIB \站點包 (所有軟件包都稱呼)

這解決的問題對我來說。