conda环境下安装rpy2时出现DLL错误

Getting DLL error when installing rpy2 in conda environment

我正在尝试安装之前从 conda 环境中导出的 environment.yml 文件。 yml 文件指定了对 rpy2=2.8.6r-base=3.5.1 的依赖。 从 yml 文件安装和创建新环境是可以的,但是当我尝试从脚本导入 rpy2 接口时出现以下错误:

File "C:\Users\~\AppData\Local\conda\conda\envs\~\packages\rpy2\robjects\__init__.py", line 16, in <module> import rpy2.rinterface as rinterface File "C:\Users\~\AppData\Local\conda\conda\envs\~\packages\rpy2\rinterface\__init__.py", line 92, in <module> from rpy2.rinterface._rinterface import (baseenv, ImportError: DLL load failed: La procédure spécifiée est introuvable.

此错误出现在与用于导出yml文件的计算机不同的计算机上(对于后者,我在重新安装conda环境时没有出现任何错误)。 Windows 10-64 位; Python 27 64 位

问题似乎出在我尝试安装的计算机上定义的环境变量:定义了一个 R_HOME 变量,它引用了先前安装在计算机中的另一个 R 版本(我不想)。 似乎 r_interface pkg 是首先查看此 env 变量以找到 R.dll。如果在 env 变量中找不到 R_HOME,那么 r_interface 将在调用子进程中寻找 R_HOME ...这就是我想要的,因为 R 是与康达环境。 最后,如果在计算机的环境变量中定义了 R_HOME 变量,那么在 conda 环境中安装 R 和 rpy2 似乎会导致冲突