霊安日記

jf_nights の霊安草子。

mecab~~~

なんか 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

tar zxvf mecab-ruby-0.994

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

tar zxvf mecab-python-0.994

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 はまだ使い始めて間もないのでよくわかっていない…。

確認

rubypython もそれぞれ mecab-hoge~ の中に test.rb, test.py があるので、それを実行することで、上手く動いてくれてるかどうか分かります。

そもそもなんでこんな記事を書いたかというと、まず最初にそろそろ python 覚えようかなと思ったのがあります。自然言語処理とか機械学習のライブラリがめちゃくちゃ豊富だというのがその根幹です。Rubyも個人的に直感的に書きやすくて好きなんですが…。(型のない言語ばっかりさわってて、型のある言語書いてる人からまさかりとか飛んできそうなのでやめます)

で、じゃあ mecab-python 入れるかーってことで 0.996 でやろうとしたら、どうしても local に install した MeCab に リンクしてくれない。

とか言って力尽きてたとこでいったん寝て、起きてから「あ、version 下げたら上手くいかないかな()」とか思ってダメもとで 0.994 にしてみたらこのようなことに…。

徳が試されてる感があっていいですね()

 

辞書の追加とかはちょっと前の記事で。