なんか MeCab の install にえらいてこずったというかふぇえって感じになったので、メモとして書きます。
Debian 7.4
MeCab 0.994
です。
自分の local に install したい場合・root 権限が無い場合とします。
MeCab本体の install
wget http://mecab.googlecode.com/files/mecab-0.994.tar.gz
./configure --with-charset=utf-8 --prefix=/home/jf712/local
--prefix で自分の local を install 先として指定出来ます。これで root 権限が無かったりしても大丈夫ですね。
make
make install
これで本体の install は終わり。
システム辞書の install
wget http://sourceforge.net/projects/mecab/files/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz
./configure --with-charset=utf8 --with-mecab-config=/home/jf712/local/bin/mecab-config
mecab-config の場所を指定します。
make
make install
mecab-ruby の install
wget http://mecab.googlecode.com/files/mecab-ruby-0.994.tar.gz
mecab-ruby-0.xxx の xxx は MeCab の version と合わせておかないといけないです。
ruby extconf.rb --with-opt-dir=/home/jf712/local
なんか option でこんな指定が出来るみたいです。
make
make install
mecab-python の install
wget http://mecab.googlecode.com/files/mecab-python-0.994.tar.gz
python3で使う場合はちょっと注意が必要みたいです。
https://code.google.com/p/mecab/issues/detail?id=7 から、MeCab.py とMeCab_wrap.cxx を落としてきて、それぞれを解凍した mecab-python-0.994 の中へ cp でも mv でも。
setup.py も python2系のままなので、3用に直します。
def cmd2(str):
return string.split (cmd1(str))
↓
def cmd2(str):
return cmd1(str).split()
あと、localに入れた MeCab を見てくれるようにするのに、
export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH
とかするか、
setup.pyの中の mecab-config をさっきの local の mecab-config を指定するか。
setup.py を書き直したら、
python setup.py build
python setup.py install
で install おわり。python はまだ使い始めて間もないのでよくわかっていない…。
確認
ruby も python もそれぞれ mecab-hoge~ の中に test.rb, test.py があるので、それを実行することで、上手く動いてくれてるかどうか分かります。
そもそもなんでこんな記事を書いたかというと、まず最初にそろそろ python 覚えようかなと思ったのがあります。自然言語処理とか機械学習のライブラリがめちゃくちゃ豊富だというのがその根幹です。Rubyも個人的に直感的に書きやすくて好きなんですが…。(型のない言語ばっかりさわってて、型のある言語書いてる人からまさかりとか飛んできそうなのでやめます)
で、じゃあ mecab-python 入れるかーってことで 0.996 でやろうとしたら、どうしても local に install した MeCab に リンクしてくれない。
mecab-python がsystem の mecab しか見てくれなくて、対処方法が分からなくて力尽きた… setup.py の mecab-config は書き換えたんだけど他にも書き換えるとこあるのかな…? in オフトゥン
— 死ノ帳 (@jf_nights) March 17, 2014
とか言って力尽きてたとこでいったん寝て、起きてから「あ、version 下げたら上手くいかないかな()」とか思ってダメもとで 0.994 にしてみたらこのようなことに…。
徳が試されてる感があっていいですね()
辞書の追加とかはちょっと前の記事で。