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

时间:2018-12-03 10:57:08

标签: python anaconda conda rpy2

我正在尝试安装先前从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位

1 个答案:

答案 0 :(得分:0)

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