macでのSOAPpyのインストールについて
SOAPpyはKEGG APIを使うので個人的に必須のモジュールだったりします。
けどmacportsのSOAPpyは2.4用しかなくて、なんかヤです。
前回のエントリで紹介したeasy_installも使えない(pypiにない)ぽいので、自分でbuildしてみました。
まずSOAPpyをダウンロードしてきます。そのtarを解凍してみるとREADMEにfpconstとPyXMLが必要とあるのでこれらに関してはeasy_installします。(macportsのfpconstは2.4のしかない、PyXMLはmacportsにないぽいので)
sudo easy_install fpconst
sudo easy_install PyXML
次は解凍したSOAPpyのディレクトリ中で
python setup.py build
とやります。すると下記のようなエラーが出ると思います。
File "~/SOAPpy-0.12.0/SOAPpy/Client.py", line 46
from __future__ import nested_scopes
SyntaxError: from __future__ imports must occur at the beginning of the file
言われる通りClient.pyを開き
from __future__ import nested_scopes
となってる行をプログラムの最初に移動してやります。
でもっかい
python setup.py build
とやってもまたエラーが出ると思います。さっきのエラーのClient.pyがTypes.pyになっていると思います。
これについてもまたTypes.pyを開きfrom __future__ import nested_scopesの行をプログラムの最初に移動します。
でも、またエラーが出ます。今度はServer.pyでまた行移動をやります。
するとやっとこさbuildが通るようになると思います。後は
sudo python setup.py install
でインストールが完了するかと思います。