MeCab-Pythonの導入手順(CentOS6)
環境
Mecabインストール手順
バインディングのダウンロード
MeCabをPythonで使用できるようにしたバインディングをダウンロード
バインディングのインストール
- setup.pyを実行することでインストールしてくれる
管理者権限に移動するがsudoだとmecabのパスが通っていないためNG- シンボリックリンクを張ることで解決,mecab-configのパスが違う可能性があるのでfindコマンドなどで調べる
$ python setup.py build $ sudo ln -s /usr/local/bin/mecab-config /usr/bin/mecab-config $ sudo python setup.py install
試す
# coding: UTF-8 import sys import MeCab m = MeCab.Tagger("-Ochasen") print m.parse("カレーとパスタを同時に食す")
実行
[vagrant@localhost python]$ python m1.py カレー カレー カレー 名詞-一般 と ト と 助詞-並立助詞 パスタ パスタ パスタ 名詞-一般 を ヲ を 助詞-格助詞-一般 同時に ドウジニ 同時に 副詞-一般 食す ショクス 食する 動詞-自立 サ変・-スル 文語基本形 EOS
問題発生時
Python.hが見つからないというようなエラー
- このようなエラーメッセージ
MeCab_wrap.cxx:149:20: fatal error: Python.h: No such file or directory #include <Python.h>
sudo yum -y install python-devel
インストールは終了したがimportしようとするとエラー
- このようなエラーメッセージ
Traceback (most recent call last): File "m1.py", line 3, in <module> import MeCab File "/usr/lib64/python2.7/site-packages/MeCab.py", line 25, in <module> _MeCab = swig_import_helper() File "/usr/lib64/python2.7/site-packages/MeCab.py", line 21, in swig_import_helper _mod = imp.load_module('_MeCab', fp, pathname, description) ImportError: libmecab.so.2: cannot open shared object file: No such file or directory
動的ライブラリのlibmecab.so.2が見つからないということです.
共通ライブラリのパスを通すには,/etc/ld.so.confに追加するのが楽.
ld.so.conf.dディレクトリ下に*.confで保存すると読み込んでくれる.
findで調べたところ/usr/local/libにあった.
$ sudo find / -name "libmecab.so.2" #ライブラリの場所を探す $ su # echo /usr/local/lib > /etc/ld.so.conf.d/py.conf # ldconfig #更新
ImportError: No module named 'MeCab'
Python3を使っている可能性がある
Python2じゃないと今のところうまくいかない
$ python --version Python 3.4.3