rpy2导入无效

时间:2014-02-17 20:34:50

标签: python pandas 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和pandas版本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,那么我会收到以下错误(在from rpy2.rinterface._rinterface import *加载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.
    
  3. 修改

    终于解决了。似乎添加R_HOME和R_USER环境变量就可以了。

8 个答案:

答案 0 :(得分:5)

RPy2是与Pandas(主页here)分开的项目,因此您必须单独安装它。您应该可以执行pip install rpy2,然后重新启动Python并重试。

答案 1 :(得分:3)

这可能不会直接适用于您的问题,但自从pandas和rpy2升级后,其界面已经更改。为了进行设置,您现在必须:

from rpy2.robjects import r, pandas2ri

pandas2ri.activate()

现在,为了将Pandas数据帧更改为R数据帧,必须使用pandas2ri.py2ri(),或者如果要将R数据帧更改为Pandas数据帧,则必须使用pandas2ri.ri2py()。更多信息可以在https://pandas.pydata.org/pandas-docs/stable/r_interface.html找到。

答案 2 :(得分:3)

好吧,首先你必须安装rpy2。如果您使用conda,可以使用以下命令

进行
conda install -c r rpy2 

然后,如果您想在Jupyter Notebook环境中使用R,您可以使用

激活R.
%load_ext rpy2.ipython

答案 3 :(得分:2)

在我的情况下,当我使用命令在Anaconda Prompt中安装它时,它有效:

conda install -m rpy2

之后我不得不从rpy2-2.9.0-py3.6-win32.egg(安装到的文件夹)移动 rpy2 目录,因为它在安装后无法识别它。 。并仅将 rpy2 文件夹移至以下路径:

C:\用户.. \ Anaconda3 \ LIB \站点包 (从中调用所有包)

这解决了我的问题。

答案 4 :(得分:0)

看起来像是ppyas 接口到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安装了它:

$ pip install rpy2

In [1]: import pandas.rpy.common

有效!它import rpy2适合您,但import pandas.rpy.common ,那么问题可能会更加微妙。

答案 5 :(得分:0)

在我的情况下,它最初并没有用conda安装它。我通过首先改变活动环境来解决它。

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

答案 6 :(得分:0)

我最近遇到了类似的问题。我试图使用anaconda版本的python( 3.6.3 )安装rpy2。 下面,提到的命令对我有用,

* python3 -m conda install rpy2

答案 7 :(得分:0)

我使用conda install -m rpy2安装了

并将rpy2的目录从rpy2-2.9.1-py3.6-win-amd64.egg文件夹移动到导入期间调用软件包的路径,然后它起作用。