OSError:无法加载库'C:\ Program Files \ R \ R-4.0.2 \ bin \ x64 \ R.dll':错误0x7e [英] OSError: cannot load library 'C:\Program Files\R\R-4.0.2\bin\x64\R.dll': error 0x7e
问题描述
我正在尝试将rpy2库导入Jupyter Notebook,但无法克服此错误.
I am trying to import the rpy2 library into a Jupyter Notebook but I cannot get past this error.
已添加PATH'C:\ Program Files \ R \ R-4.0.2 \ bin \ x64'.
The PATH 'C:\Program Files\R\R-4.0.2\bin\x64' has been added.
这是我的计算机上安装的R的唯一版本.我已经完全卸载并重新安装了R/Rstudio/Anaconda,没有运气.
This is the only version of R installed on my computer. I have completely uninstalled and reinstalled R/Rstudio/Anaconda with no luck.
这是完整的错误:
---------------------------------------------------------------------------
OSError Traceback (most recent call last)
<ipython-input-7-098f0d39b3a3> in <module>
----> 1 from rpy2.robjects import pandas2ri
C:\Anaconda\lib\site-packages\rpy2\robjects\__init__.py in <module>
14 from functools import partial
15 import types
---> 16 import rpy2.rinterface as rinterface
17 import rpy2.rlike.container as rlc
18
C:\Anaconda\lib\site-packages\rpy2\rinterface.py in <module>
4 import typing
5 from typing import Union
----> 6 from rpy2.rinterface_lib import openrlib
7 import rpy2.rinterface_lib._rinterface_capi as _rinterface
8 import rpy2.rinterface_lib.embedded as embedded
C:\Anaconda\lib\site-packages\rpy2\rinterface_lib\openrlib.py in <module>
42 rlib = _rinterface_cffi.lib
43 else:
---> 44 rlib = _dlopen_rlib(R_HOME)
45
46
C:\Anaconda\lib\site-packages\rpy2\rinterface_lib\openrlib.py in _dlopen_rlib(r_home)
35 raise ValueError('The library path cannot be None.')
36 else:
---> 37 rlib = ffi.dlopen(lib_path)
38 return rlib
39
OSError: cannot load library 'C:\Program Files\R\R-4.0.2\bin\x64\R.dll': error 0x7e
这是我运行的用于导入rpy2库的代码:
Here is the code I run to import rpy2 library:
from rpy2.robjects import r, pandas2ri
推荐答案
1-Windows + IDE
对于那些不使用Anaconda的用户,请在Windows的环境变量PATH中添加以下内容:
1 - Windows + IDE
For those not using Anaconda, add the following in Windows' environment variables PATH:
C:\Program Files\R\R-4.0.3\bin\x64
您的R版本可能与"R-4.0.3"不同
Your R version may differ from "R-4.0.3"
否则,请检查Grayson Felt的答复:
Otherwise, check Grayson Felt's reply:
添加PATH
C:\ Users \ username \ Anaconda2; C:\ Users \ username \ Anaconda2 \ Scripts; C:\ Users \ username \ Anaconda2 \ Library \ bin; C:\ Users \ username \ Anaconda2 \ Library \ mingw-w64 \ lib; C:\ Users \ username \ Anaconda2 \ Library \ mingw-w64 \ bin
C:\Users\username\Anaconda2;C:\Users\username\Anaconda2\Scripts;C:\Users\username\Anaconda2\Library\bin;C:\Users\username\Anaconda2\Library\mingw-w64\lib;C:\Users\username\Anaconda2\Library\mingw-w64\bin
然后重新启动Anaconda可以解决此问题.
and subsequently restarting Anaconda fixed the issue.
3-Windows基本代码标头
或者,按照布鲁诺的建议(并且更加精打细算):
3 - Code header Windows basic
Alternatively, following Bruno's suggestion (and being more sohpisticated):
try:
import rpy2.robjects as robjects
except OSError as e:
try:
import os
import platform
if ('Windows', 'Microsoft') in platform.system():
os.environ["R_HOME"] = 'C:/Program Files/R/R-4.0.3/bin/x64' # Your R version here 'R-4.0.3'
os.environ["PATH"] = "C:/Program Files/R/R-4.0.3/bin/x64" + ";" + os.environ["PATH"]
import rpy2.robjects as robjects
except OSError:
raise(e)
此代码在非Windows平台上无效. 另外,对于不同的R版本,可能需要进行调整. 如果它变得比这更复杂,则您可能应该只寻求解决方案1或2.
This code won't be effective for non-Windows platform. Also adjustments may be necessary for different R versions. If it gets more complicated than this, you should probably just go for solutions 1 or 2.
注意 :如果您的Python和R版本位于不同的体系结构(x86与x64)中,您可能还会遇到此问题
NOTE: You may also face this issue if your Python and R versions are in different architechtures (x86 vs x64)
这篇关于OSError:无法加载库'C:\ Program Files \ R \ R-4.0.2 \ bin \ x64 \ R.dll':错误0x7e的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!