macbookでRpyを利用できるようにしたのでメモ

python2.5,R-2.7.1,rpy1.0.3という組み合わせで。rpy2-alphaはコンパイルが通らなかった。

Rのインストール

Rはソースからコンパイル。enable-R-shlibオプションをつけるのを忘れずに、というより配布されていたバイナリはこれつきでコンパイルされてないようなのでそのままではrpyが入らないはず。

R CMD config --ldflags

とか打つとOKかどうかわかる。 ダメげな場合は潔くソースから。

./configure --enable-R-shlib
make

ここでまた、make installするとshlibがなんかみつからなくなるという現象に悩まされた。そのため、ユーザー領域でコンパイルしたバイナリを使う事にした。/Users/kzfm/R-2.7.1/bin/Rが実体で/opt/local/bin/Rにシンボリックリンクを張って使っている。

Rpyのインストール

export R_HOME=/Users/kzfm/R-2.7.1
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$R_HOME/lib

これが重要。あとmacのgccでもコンパイルできなくてmacportのgcc使ってコンパイルする必要があるかもしれない。

あとは普通に

sudo python setup.py install

でいけるはず。

WindowsでRPyを使う

普段はLinuxマシンでRPyを使うのだけど、手元のLet's NoteR4でも使いたいので。

  • R2.6.1
  • Python2.5.1
  • RPy1.0.1
  • pywin32 build210

pywinはeasy_installで。普通にダウンロードしてクリックからのインストールでもいいような。

easy_install pywin32

RPyはrpy-1.0.1-R-1.3.0-to-2.6.1-Numpy-win32-py2.5.exeを落としてきて入れた。

あと環境変数。R_HOMEがねーとかwin32allがimport出来ないとかいうエラーは環境変数の設定のせい。次の二つを環境変数Pathにセットしておくととりあえず大丈夫。

C:\Program Files\R\R-2.6.1\bin
C:\Python25\Lib\site-packages\pywin32-210-py2.5-win32.egg\pywin32_system32

後者のほうはなんとかならんかね。Pathに設定するようなもんじゃないと思うんだけど。前者もpathでなくてR_HOMEとかにセットできたらいいのにね。