Python上でMeCabを使う
GCCのインストール
CentOSにGCCが入っていないことがあるので、インストールしておく。GCCがないとMeCab入らない。
% yum install glibc glibc.i386 % yum install gcc*
MeCabを入れるためのステップは、次のとおりになる。
MeCabのインストール
% wget http://downloads.sourceforge.net/mecab/mecab-0.97.tar.gz % tar xvfz mecab-0.97.tar.gz % cd mecab-0.97/ % ./configure % make % su $ make install
辞書ipadic2.7.0 のインストール
./configure のときに --with-charset=utf8 オプションをつけると、辞書の文字コードが UTF-8 になる。つけなければデフォルトの EUC-JP になる。
% wget http://downloads.sourceforge.net/mecab/mecab-ipadic-2.7.0-20070801.tar.gz % tar xvfz mecab-ipadic-2.7.0-20070801.tar.gz % cd mecab-ipadic-2.7.0-20070801 % ./configure --with-charset=utf8 % make % su $ make install
Pythonバインディングのインストール
wget http://downloads.sourceforge.net/mecab/mecab-python-0.97.tar.gz % tar xvfz mecab-python-0.97.tar.gz % cd mecab-python-0.97 % su # python setup.py install
本当にバイディングできたのか、テストする。
$ python >>> import MeCab >>> m = MeCab.Tagger() >>> print m.parse("本日は良い天気です")
コンパイルミスへの対応
crt1.oが無い
/usr/bin/ld: crt1.o: No such file: No such file or directory
と出てきて、configureがこけることがある。このメッセージはファイルcrt1.oが見つからないという意味。
crt1.oは、コンパイル時にgccが内部的にリンクするファイルで、glibc-develパッケージに含まれるモジュールなので、glibc-develをインストールする。
# yum install glibc # yum install glibc-devel
g++が無い
configure: error: Your compiler is not powerful enough to compile MeCab. If it should be, see config.log for more information of why it failed.
gcc-c++が無いと、こういうエラーが出現するみたい。gcc-c++をいれると解決する。
$ sudo yum install gcc-c+
libmecab.so.1が無い
/usr/local/libexex/mecab/mecab-dict-index: error while loading shared libraries:libmecab.so.1: cannot open shared object file: No such file or directory
mecab をインストールしただけの状態では、IPA辞書のインストール時に libmecab.so.1 が見つからないというエラーが発生する。 libmecab.so.1 は /usr/local/lib/libmecab.so.1 にインストールされているが、標準設定では /usr/local/lib/ 配下のライブラリが読み込まれないようになっている。
これを読み込ませるために /etc/ld.so.conf ファイルを編集する必要がある。このファイルを修正したらldconfigを実行して、ライブラリ読み込みパスの更新する
# vi /etc/ld.so.conf /usr/local/lib (この1行を追加) # ldconfig # exit