web-dev-qa-db-ja.com

OSERROR:ライブラリのロードをロードできません 'C:\ Program Files \ R \ R-4.0.2 \ bin \ x64 \ r.dll':エラー0x7e

RPY2ライブラリをJupyterノートブックにインポートしようとしていますが、このエラーを通過できません。

パスのC:\ Program Files\R\R-4.0.2\bin\x64 'が追加されました。

これは私のコンピュータにインストールされているRの唯一のバージョンです。私は運のないr/rstudio/anacondaを完全にアンインストールして再インストールしました。

これが完全なエラーです。

---------------------------------------------------------------------------
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

 _

編集:

これがRPY 2ライブラリをインポートするために実行するコードです。

from rpy2.robjects import r, pandas2ri
 _
3
Grayson Felt

1 - Windows + IDE

それらのためにNot AnaconDaを使用して、Windowsの環境変数のパスで次のものを追加します。

_C:\Program Files\R\R-4.0.3\bin\x64_

Rバージョンは "r-4.0.3"と異なる場合があります

2 - アナコンダ

それ以外の場合は、Grayson Feltの返信を確認してください。

ここで解決策を見つけました。

パスを追加する

C:\ users\username\anaconda2; c:\ users\username\anaconda2 \スクリプト; c:\ users\username\anaconda2\library\bin; c:\ users\username\anaconda2\library\mingw-w64\lib; C:\ users\username\anaconda2\library\mingw-w64\bin

そしてその後、Anacondaを再起動して問題を修正しました。

3 - コードヘッダーWindows Basic.

あるいは、Brunoの提案に従う(そしてより強壮作している)。

_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のために行くべきです。

〜#〜]注[〜#〜]:PythonとRバージョンがある場合は、この問題に直面することもあります。異なるアーキテクチャで(x86 vs x64)

1
Grayson Felt