Rをネットワークで使うには、CGIwithRで十分だろうと考えていたが、まぁいろいろあって(単にSOAPいじりたくなっただけともいう)RSOAPを入れてみることにした。
正直なところがパイソンいじったことがないので、ちょっと避けてたのもあるヨ。
用意するものは結構多い
- fpconst-0.7.2.tar.gz
- PyXML-0.8.4.tar.gz
- logging-0.4.9.5.tar.gz
- R-2.1.0.tar.gz
- session_1.0.1.tar.gz
- rpy-0.4.2.1.tar.gz
- SOAPpy-0.11.6.tar.gz
- RSOAP-1.1.3.tar.gz
まずRはrpyのために--enable-R-shlibオプションをつけてインストールしなければならない。ということで勢いtarボールから。
#./configure --enable-R-shlib
#make
#make install
いやー、Rのコンパイルは長い。RH4xあたりでのカーネルコンパイルくらい(古い?)こんなにかかるとは思わず、昨晩makeしたら、U隊長に大不評(僕のマシンは寝室においてあるので排気音とガリガリ音がうるさい)。で朝起きてからセッションいれとく。
#R CMD INSTALL session_1.0.1.tar.gz
tar xvfz して、パイソン関係のモジュールを順番に入れます。
#python setup.py build
#su
#python setup.py install
rpy だけちょっとメンドイ。まず、libR.soへのパスを通す。READMEだとbinに通してるけどlibでしょ。
#su
#vi /etc/ld.so.conf
## /usr/local/lib/R/lib を記述
#ldconfig
ちなみに、setup.py も適当に書き換えないといけなかったりする場合もあるよ。-lR が見つからんぜよみたいなエラーの場合は、setup.py中の記述のbinをlibに変えるといい(まぁすぐわかる)。あとRのライブラリもtar xvfzする。僕の場合はR-2.1.0なので、
#tar xvfz R-2.1.0.tar.gz R-2.1.0/src/include
#su
#python setup.py install
最後にRSOAPのインストールは、普通
#python setup.py build
#su
#python setup.py install
ローカルでテストしたかったら、SimpleExample.pyというのを探してきて、ホスト名をlocalhostに書き換えておく。
#su
#RSOAPManager
で、サーバーを立ち上げといて、別の端末から
#python SimpleExample.py
結果が戻ってくればOK
TCP/IPでやりたければ
#su
#RSOAPManager --tcp-ip
ここまではうまくいったヨ。今朝、作業したわりには記憶が曖昧なので順番が前後してるかもしれん。