我尝试导入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。
直接使用python setup.py install
给了我一个os
没有模块popen3
的错误。
直接从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.
修改
终于解决了。似乎添加R_HOME和R_USER环境变量就可以了。
答案 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文件夹移动到导入期间调用软件包的路径,然后它起作用。