python - rpy2 导入不起作用

标签 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 的站点安装 exe (rpy2-2.3.9.win32-py3.3.exe) http://www.lfd.uci.edu/~gohlke/pythonlibs/运行良好。但是,如果我尝试执行 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.
    

编辑

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

最佳答案

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

关于python - rpy2 导入不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21838773/

相关文章:

python - 更改 block 大小时,为什么色调会改变?

python - 用于在磁盘上有效存储整数对集的数据结构选项?

python-3.x - 如何使 pandas read_csv 处理 numpy str(或 unicode)标量数据类型

python - LD_LIBRARY_PATH 优先级和编译问题

python - one-hot编码后获取特征名称

Python正则表达式提取字符串多行

python - 在 pandas Dataframe 中移动数据

python - 使用原始索引获取 Pandas 重复行数

python - 通过 RPy 对 lme4.lmer 输出调用方差分析

python - 使用 rpy2 在 Python 中保存 RData 工作区