MeCab Pythonバインディングのインストール
かなりはまってしましました。。
mecabを入れるところまでは良かったのでですが、Pythonバインディングを入れるところにて、mecab-python-0.98をダウンロードし、
これで大丈夫よし、と思いましたが、
% python
>>> import MeCab
Traceback (most recent call last):
File "", line 1, in
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/MeCab.py", line 25, in
_MeCab = swig_import_helper()
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/MeCab.py", line 21, in swig_import_helper
_mod = imp.load_module('_MeCab', fp, pathname, description)
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/_MeCab.so, 2): Symbol not found: __ZN5MeCab12createTaggerEPKc
Referenced from: /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/_MeCab.so
Expected in: flat namespace
in /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/_MeCab.so
>>>
うーむエラー。どうやら_MeCab.soというバイナリファイルをうまく読み込んでくれていないといってようなことが原因かな、という程度までは分かったのですが、いくらググっても同じ状況の方が見つからず、途方に暮れました。
macab-python-0.98/buildというディレクトリをふと覗くと、
lib.macosx-10.3-fat-2.6
というディレクトリが。自分は今macosx 10.6なので、osのヴァージョンに対応したコンパイルがされていない??
その後さまよい、pythonの2.7を入れて、再度mecab-python-0.98のインストールを試みると、先ほどのディレクトリにて、
lib.macosx-10.6-intel-2.7
が作られた!
その後、python27を使えばちゃんとMeCabをimportして使えるようになりました。
良かったー。