pythonからmecabを使いたい場合の解決方法
pythonからmecabを使いたい場合はpython-mecabをインストールします。
途中、依存関係でエラーがでたらpython-develとかをyumでインストールしてみてください。
# wget http://sourceforge.net/projects/mecab/files/mecab-python/0.98/mecab-python-0.98.tar.gz/download --2010-12-29 16:05:07-- http://sourceforge.net/projects/mecab/files/mecab-python/0.98/mecab-python-0.98.tar.gz/download Resolving sourceforge.net... 216.34.181.60 Connecting to sourceforge.net|216.34.181.60|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://downloads.sourceforge.net/project/mecab/mecab-python/0.98/mecab-python-0.98.tar.gz?r=&ts=1293606307&use_mirror=jaist [following] --2010-12-29 16:05:08-- http://downloads.sourceforge.net/project/mecab/mecab-python/0.98/mecab-python-0.98.tar.gz?r=&ts=1293606307&use_mirror=jaist Resolving downloads.sourceforge.net... 216.34.181.59 Connecting to downloads.sourceforge.net|216.34.181.59|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://jaist.dl.sourceforge.net/project/mecab/mecab-python/0.98/mecab-python-0.98.tar.gz [following] --2010-12-29 16:05:08-- http://jaist.dl.sourceforge.net/project/mecab/mecab-python/0.98/mecab-python-0.98.tar.gz Resolving jaist.dl.sourceforge.net... 150.65.7.130, 2001:200:141:feed::feed Connecting to jaist.dl.sourceforge.net|150.65.7.130|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 51651 (50K) [application/x-gzip] Saving to: `mecab-python-0.98.tar.gz' 100%[======================================>] 51,651 --.-K/s in 0.04s 2010-12-29 16:05:09 (1.19 MB/s) - `mecab-python-0.98.tar.gz' saved [51651/51651]
解凍します
# tar xvzf mecab-python-0.98.tar.gz mecab-python-0.98/ mecab-python-0.98/bindings.html mecab-python-0.98/MeCab.py mecab-python-0.98/setup.py mecab-python-0.98/README mecab-python-0.98/LGPL mecab-python-0.98/COPYING mecab-python-0.98/BSD mecab-python-0.98/GPL mecab-python-0.98/test.py mecab-python-0.98/AUTHORS mecab-python-0.98/MeCab_wrap.cxx
ビルドします。
# cd mecab-python-0.98 # python setup.py build running build running build_py creating build creating build/lib.linux-x86_64-2.7 copying MeCab.py -> build/lib.linux-x86_64-2.7 running build_ext building '_MeCab' extension creating build/temp.linux-x86_64-2.7 gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/local/include -I/usr/local/include/python2.7 -c MeCab_wrap.cxx -o build/temp.linux-x86_64-2.7/MeCab_wrap.o cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++ g++ -pthread -shared build/temp.linux-x86_64-2.7/MeCab_wrap.o -L/usr/local/lib -L/usr/local/lib -lmecab -lstdc++ -lpython2.7 -o build/lib.linux-x86_64-2.7/_MeCab.so
少しdistutils関係で警告が出ていますが、そのままセットアップを続けます。
セットアップします。
# python setup.py install running install running build running build_py running build_ext running install_lib copying build/lib.linux-x86_64-2.7/MeCab.py -> /usr/local/lib/python2.7/site-packages copying build/lib.linux-x86_64-2.7/_MeCab.so -> /usr/local/lib/python2.7/site-packages byte-compiling /usr/local/lib/python2.7/site-packages/MeCab.py to MeCab.pyc running install_egg_info Writing /usr/local/lib/python2.7/site-packages/mecab_python-0.98-py2.7.egg-info
使ってみましょう
# python Python 2.7.1 (r271:86832, Dec 28 2010, 02:57:17) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import MeCab >>> mc = MeCab.Tagger() >>> print mc.parse("今日はお越しいただき、まことにありがとうございました。") 今日 名詞,副詞可能,*,*,*,*,今日,キョウ,キョー は 助詞,係助詞,*,*,*,*,は,ハ,ワ お越し 名詞,一般,*,*,*,*,お越し,オコシ,オコシ いただき 動詞,自立,*,*,五段・カ行イ音便,連用形,いただく,イタダキ,イタダキ 、 記号,読点,*,*,*,*,、,、,、 まことに 副詞,一般,*,*,*,*,まことに,マコトニ,マコトニ ありがとう 感動詞,*,*,*,*,*,ありがとう,アリガトウ,アリガトー ござい 助動詞,*,*,*,五段・ラ行特殊,連用形,ござる,ゴザイ,ゴザイ まし 助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ 。 記号,句点,*,*,*,*,。,。,。 EOS
いいですね。成功です。