如何正确设置rpy2?
How to correctly set up rpy2?
我正在尝试 运行 rpy2 但没有成功。安装 R 和 rpy2 后,我尝试按照 rp2 文档中的说明测试 rpy2:
来自空闲:
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 文件错误的解决方案。
提前致谢!
看来你的Python版本是32位的,R版本是64位的。尝试链接到 bin\i386
而不是 bin\x64
文件夹中的 R。
您只需将 R.dll
库的位置(x64 或 i386 取决于您使用的是 python 32 还是 64)添加到路径中。
从你得到的错误来看,你的情况是这样的: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:
None
您可以通过 conda 环境或 docker 图像使用 R 接口与 Python 集成。虽然 Docker 方法更容易设置,但 conda 方法主要是因为它允许您管理不同的环境,在本例中是使用 R 和 Python.
1。将 rpy2 与 Docker Image
一起使用
在您的系统上安装Docker Desktop 后,查看来自 Jupyter 的 link. You could use the 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。在 Anaconda 环境中使用 rpy2
成功后installing Anaconda distribution,打开Anaconda提示符,创建一个新的conda环境,这里我称之为rpy2环境
conda create -n rpy2-env r-essentials r-base python=3.7
请注意,我为此环境包括了 R 和 Python 3.7。在撰写本文时,rpy2 尚不兼容 python 的最新版本。然后,激活您的环境并安装 rpy2。
conda activate rpy2-env
conda install -c r rpy2
现在,您可以通过在终端或通过 Jupyter Notebook 输入 python
或 ipython
来使用 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))
我正在尝试 运行 rpy2 但没有成功。安装 R 和 rpy2 后,我尝试按照 rp2 文档中的说明测试 rpy2:
来自空闲:
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 文件错误的解决方案。
提前致谢!
看来你的Python版本是32位的,R版本是64位的。尝试链接到 bin\i386
而不是 bin\x64
文件夹中的 R。
您只需将 R.dll
库的位置(x64 或 i386 取决于您使用的是 python 32 还是 64)添加到路径中。
从你得到的错误来看,你的情况是这样的: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:
None
您可以通过 conda 环境或 docker 图像使用 R 接口与 Python 集成。虽然 Docker 方法更容易设置,但 conda 方法主要是因为它允许您管理不同的环境,在本例中是使用 R 和 Python.
1。将 rpy2 与 Docker Image
一起使用在您的系统上安装Docker Desktop 后,查看来自 Jupyter 的 link. You could use the 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 桌面设置中 启用文件共享 ,请参见下图
import rpy2
,rpy2 默认带有此图像。
2。在 Anaconda 环境中使用 rpy2
成功后installing Anaconda distribution,打开Anaconda提示符,创建一个新的conda环境,这里我称之为rpy2环境
conda create -n rpy2-env r-essentials r-base python=3.7
请注意,我为此环境包括了 R 和 Python 3.7。在撰写本文时,rpy2 尚不兼容 python 的最新版本。然后,激活您的环境并安装 rpy2。
conda activate rpy2-env
conda install -c r rpy2
现在,您可以通过在终端或通过 Jupyter Notebook 输入 python
或 ipython
来使用 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))