我正在尝试安装先前从conda环境导出的environment.yml
文件。 yml文件指定对rpy2=2.8.6
和r-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位
答案 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可能会导致冲突。