首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确设置rpy2?

如何正确设置rpy2?
EN

Stack Overflow用户
提问于 2020-05-06 04:38:11
回答 3查看 1.5K关注 0票数 5

我正在尝试运行rpy2,但没有成功。在安装R和rpy2之后,我尝试按照rpy2文档中的说明测试rp2:

从空闲状态:

代码语言:javascript
复制
import rpy2.situation
for row in rpy2.situation.iter_info():
    print(row)

我得到了以下输出:

代码语言:javascript
复制
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文件错误的一般解决方案。

谢谢你的加法!

EN

回答 3

Stack Overflow用户

发布于 2020-07-20 07:38:28

您可以通过conda环境或docker镜像使用R接口与Python集成。虽然Docker方法更容易设置,但conda方法主要是因为它允许您管理不同的环境,在本例中是使用R和Python的环境。

1.对Docker镜像使用rpy2

在您的系统上安装Docker桌面后,请参阅此link。您可以使用Jupyter中的datasciencenotebook镜像。只需在终端上键入即可

代码语言:javascript
复制
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

代码语言:javascript
复制
conda activate rpy2-env
conda install -c r rpy2

现在,您可以通过在终端上输入pythonipython或通过Jupyter Notebook来使用rpy2。

代码语言:javascript
复制
import rpy2.situation
for row in rpy2.situation.iter_info():
    print(row)

3.安装R包(可选)

此外,如果需要安装R包,可以键入终端

R -e install.packages("package_name")

或者在Jupyter Notebook中

代码语言:javascript
复制
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))
票数 4
EN

Stack Overflow用户

发布于 2020-07-20 01:38:52

您的Python版本似乎是32位,而R版本是64位。尝试链接到bin\i386中的R,而不是bin\x64文件夹。

票数 0
EN

Stack Overflow用户

发布于 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,解决方案很简单:

代码语言:javascript
复制
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:
None
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61622624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档