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を個別にインストールしようとしました。
python setup.py install
を直接使用すると、os
にモジュールpopen3
がないというエラーが発生しました。
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環境変数を追加することでうまくいったようです。
RPy2はPandas(homepage here )とは別のプロジェクトなので、個別にインストールする必要があります。pip install rpy2
、次に、Pythonを再起動して、再試行してください。
まず、rpy2をインストールする必要があります。 condaを使用している場合は、次のコマンドを使用して実行できます
conda install -c r rpy2
次に、Jupyter Notebook環境でRを使用する場合は、を使用してRをアクティブ化できます。
%load_ext rpy2.ipython
これはあなたの質問に直接当てはまらないかもしれませんが、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 を参照してください。
私の場合、次のコマンドを使用してAnacondaPromptにインストールすると機能しました。
conda install -m rpy2
その後、rpy2-2.9.0-py3.6-win32.Egg(インストールされたフォルダ)からrpy2ディレクトリを移動する必要がありました。インストール後に認識されなかったためです...そして移動しましたのみrpy2フォルダから次のパスへ:
C:\ Users ..\Anaconda3\Lib\site-packages(すべてのパッケージが呼び出される場所)
それは私にとって問題を解決しました。
私の場合、最初はcondaを使ってインストールする必要はありませんでした。最初にアクティブな環境を変更することで解決しました。
source activate [environment Name]
conda install -c r rpy2=2.8.5
最近、同様の問題が発生しました。私はpython(.6.)のanacondaバージョンを使用してrpy2をインストールしようとしていました。以下に、言及されたコマンドは私のために働いた、
* python3 -m conda install rpy2
Conda install -mrpy2を使用してインストールしました
そして、rpy2のディレクトリをrpy2-2.9.1-py3.6-win-AMD64.Eggフォルダーから、インポート中にパッケージが呼び出されて機能したパスに移動しました。
これは、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.common
はnotの場合、問題はより微妙になる可能性があります。