web-dev-qa-db-ja.com

rpy2インポートが機能していません

Rpy2をインポートしようとするとエラーが発生します。これがコードとエラーです。

>>> import pandas.rpy.common
Traceback (most recent call last):  

File "C:\PF\WinPython-64bit-3.3.3.3\python-3.3.3.AMD64\lib\site-packages\IPython\core\interactiveshell.py", line 2828, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)

File "<ipython-input-148-c258a0f70d44>", line 1, in <module>
import pandas.rpy.common

File "C:\PF\WinPython-64bit-3.3.3.3\python-3.3.3.AMD64\lib\site-packages\pandas\rpy\common.py", line 14, in <module>
from rpy2.robjects.packages import importr

ImportError: No module named 'rpy2'

何が問題になる可能性がありますか?私はpythonバージョン3.3.3とpandasバージョン0.13.1を使用しています

[〜#〜]編集[〜#〜]

Rpy2を個別にインストールしようとしました。

  1. python setup.py installを直接使用すると、osにモジュールpopen3がないというエラーが発生しました。

  2. Christoph Gohlkeのサイトからexe(rpy2-2.3.9.win32-py3.3.exe)を直接インストールする http://www.lfd.uci.edu/~gohlke/pythonlibs/ 正常に実行されます。しかし、import pandas.rpy.common as comを実行しようとすると、次のエラーが発生します(from rpy2.rinterface._rinterface import *でのDLLのロードに関する問題:

    Traceback (most recent call last):
      File "C:\PF\WinPython-64bit-3.3.3.3\python-3.3.3.AMD64\lib\site-packages\IPython\core\interactiveshell.py", line 2828, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
    
      File "<ipython-input-10-63ebebefea80>", line 1, in <module>
    import pandas.rpy.common as com
    
      File "C:\PF\WinPython-64bit-3.3.3.3\python-3.3.3.AMD64\lib\site-    packages\pandas\rpy\common.py", line 14, in <module>
    
    from rpy2.robjects.packages import importr
    
      File "C:\PF\WinPython-64bit-3.3.3.3\python-3.3.3.AMD64\lib\site-packages\rpy2\robjects\__init__.py", line 15, in <module>
    
        import rpy2.rinterface as rinterface
      File "C:\PF\WinPython-64bit-3.3.3.3\python-3.3.3.AMD64\lib\site-packages\rpy2\rinterface\__init__.py", line 103, in <module>
    
        from rpy2.rinterface._rinterface import *
    ImportError: DLL load failed: %1 is not a valid Win32 application.
    

[〜#〜]編集[〜#〜]

ついに解決しました。 R_HOMEおよびR_USER環境変数を追加することでうまくいったようです。

9
uday

RPy2はPandas(homepage here )とは別のプロジェクトなので、個別にインストールする必要があります。pip install rpy2、次に、Pythonを再起動して、再試行してください。

5
mwaskom

まず、rpy2をインストールする必要があります。 condaを使用している場合は、次のコマンドを使用して実行できます

conda install -c r rpy2 

次に、Jupyter Notebook環境でRを使用する場合は、を使用してRをアクティブ化できます。

%load_ext rpy2.ipython
3
ewalel

これはあなたの質問に直接当てはまらないかもしれませんが、pandasとrpy2がアップグレードされてから、それらのインターフェースが変更されました。それを設定するには、次のことを行う必要があります。

_from rpy2.robjects import r, pandas2ri

pandas2ri.activate()
_

ここで、PandasデータフレームをRデータフレームに変更するには、pandas2ri.py2ri()を使用するか、Rデータフレームを変更する場合はpandas2ri.ri2py()を使用する必要があります。 Pandasデータフレーム。詳細については、 https://pandas.pydata.org/pandas-docs/stable/r_interface.html を参照してください。

3
Bob McBobson

私の場合、次のコマンドを使用してAnacondaPromptにインストールすると機能しました。

conda install -m rpy2

その後、rpy2-2.9.0-py3.6-win32.Egg(インストールされたフォルダ)からrpy2ディレクトリを移動する必要がありました。インストール後に認識されなかったためです...そして移動しましたのみrpy2フォルダから次のパスへ:

C:\ Users ..\Anaconda3\Lib\site-packages(すべてのパッケージが呼び出される場所)

それは私にとって問題を解決しました。

2
Duca

私の場合、最初はcondaを使ってインストールする必要はありませんでした。最初にアクティブな環境を変更することで解決しました。

source activate [environment Name]
conda install -c r rpy2=2.8.5
0
Benedikt

最近、同様の問題が発生しました。私はpython(.6.)のanacondaバージョンを使用してrpy2をインストールしようとしていました。以下に、言及されたコマンドは私のために働いた、

* python3 -m conda install rpy2
0
Pramit

Conda install -mrpy2を使用してインストールしました

そして、rpy2のディレクトリをrpy2-2.9.1-py3.6-win-AMD64.Eggフォルダーから、インポート中にパッケージが呼び出されて機能したパスに移動しました。

0
AnksG

これは、rpy2に対してpandas interfaceのように見えます。これとは別に、システムにrpy2をインストールする必要があります。rpy2がないので、簡単に実行できました。これをチェックして:

In [1]: import pandas.rpy.common
(...)
ImportError: No module named rpy2.robjects.packages


In [2]: import rpy2
(...)
ImportError: No module named rpy2

Pipを使用してインストールしました:

$ pip install rpy2

In [1]: import pandas.rpy.common

できます!それ import rpy2はあなたのために働きます、しかしimport pandas.rpy.commonnotの場合、問題はより微妙になる可能性があります。

0
Dan Allan