我正在尝试运行rpy2,但没有成功。在安装R和rpy2之后,我尝试按照rpy2文档中的说明测试rp2:
从空闲状态:
import rpy2.situation
for row in rpy2.situation.iter_info():
print(row)我得到了以下输出:
rpy2 version:
3.3.2
Python version:
3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)]
Looking for R's HOME:
Environment variable R_HOME: None
InstallPath in the registry: C:\Program Files\R\R-4.0.0
Environment variable R_USER: None
Environment variable R_LIBS_USER: None
R version:
In the PATH: None
Loading R library from rpy2: cannot load library 'C:\Program Files\R\R-4.0.0\bin\x64\R.dll': error 0xc1
Additional directories to load R packages from:
None我设置了在输出中没有找到的环境变量,因为我认为R的安装位置可能是问题所在,但它仍然不起作用。我还寻找了R.dll错误或dll文件错误的一般解决方案。
谢谢你的加法!
发布于 2020-07-20 07:38:28
您可以通过conda环境或docker镜像使用R接口与Python集成。虽然Docker方法更容易设置,但conda方法主要是因为它允许您管理不同的环境,在本例中是使用R和Python的环境。
1.对Docker镜像使用rpy2
在您的系统上安装Docker桌面后,请参阅此link。您可以使用Jupyter中的datasciencenotebook镜像。只需在终端上键入即可
docker run -it -e GRANT_SUDO=yes --user root --rm -p 8888:8888 -p 4040:4040 -v D:/:/home/jovyan/work jupyter/datascience-notebook如果它是第一次运行这个命令,它将首先拉取docker镜像。请注意,我们将本地目录D:/作为卷挂载到docker容器。要允许此操作,请在Docker桌面设置中启用文件共享,请参见下图

然后,在Jupyter Notebook单元格中只需输入import rpy2,默认情况下rpy2会随此图像一起提供。

2.在蟒蛇环境中使用rpy2
在成功installing Anaconda distribution之后,打开Anaconda提示符并创建一个新的conda环境,在本例中我将其称为rpy2环境。
conda create -n rpy2-env r-essentials r-base python=3.7
注意,我在这个环境中包含了R和Python3.7。在撰写本文时,rpy2还不能与最新版本的python兼容。然后,激活您的环境并安装rpy2。

conda activate rpy2-env
conda install -c r rpy2现在,您可以通过在终端上输入python或ipython或通过Jupyter Notebook来使用rpy2。

import rpy2.situation
for row in rpy2.situation.iter_info():
print(row)3.安装R包(可选)
此外,如果需要安装R包,可以键入终端
R -e install.packages("package_name")
或者在Jupyter Notebook中
import rpy2.robjects.packages as rpackages
from rpy2.robjects.vectors import StrVector
# Choosing a CRAN Mirror
utils = rpackages.importr('utils')
utils.chooseCRANmirror(ind=1)
# Installing required packages
packages = ('ggplot', 'stats')
utils.install_packages(StrVector(packages))发布于 2020-07-20 01:38:52
您的Python版本似乎是32位,而R版本是64位。尝试链接到bin\i386中的R,而不是bin\x64文件夹。
发布于 2020-07-20 05:21:38
您只需将R.dll库的位置(x64或i386,取决于您使用的是Python32还是64)添加到path。
根据您得到的错误,在您的例子中是:C:/Program Files/R/R-4.0.0/bin/x64
这是一个常见的问题observed with other libraries,解决方案很简单:
import os
os.environ['PATH'] = 'C:/Program Files/R/R-4.0.0/bin/x64' + os.pathsep + os.environ.get('PATH', '')
import rpy2.situation
for row in rpy2.situation.iter_info():print(row)
rpy2 version:
3.3.5
Python version:
3.7.4 (default, Aug 9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)]
Looking for R's HOME:
Environment variable R_HOME: None
InstallPath in the registry: C:\Program Files\R\R-4.0.0
Environment variable R_USER: None
Environment variable R_LIBS_USER: None
R version:
In the PATH:
Loading R library from rpy2: OK
Additional directories to load R packages from:
Nonehttps://stackoverflow.com/questions/61622624
复制相似问题