Anacondaにmecab_pythonを入れる(Homebrewなし)


Motivation

  • 普段使っているmacOSのAnaconda環境のJupyter Notebook、PythonでMeCabを使いたい。
  • いろいろ検索するとHomebrewというパッケージ管理システムを使うと簡単にインストールできるらしい。
  • でもAnacondaを先にダウンロードして入れてしまった人はHomebrewをインストールできないらしい(こうなった)
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 
dyld: Library not loaded: @rpath/libssl.1.0.0.dylib
  Referenced from: /anaconda3/lib/libssh2.1.dylib
  Reason: image not found
  • Anacondaを一旦消してHomebrewをインストール、その上で pyenv からAnacondaをインストールすると両者共存できるらしい。(参照、しかし難しそうだ)
  • bash_profileでAnacondaのPATHを削除することでインストール可能らしい(参照、でも元に戻せるのか、Anacondaがその後ちゃんと動くのか不安だ)
  • ん、このやり方でやれば2分でできると書いている人がいる(参照)。これでやってみよう

Environment

macOS Mojave 10.14.3
Anaconda3, Python3

Steps

Mecab本体をインストール

cd {git_repo_path}
git clone https://github.com/taku910/mecab.git
cd mecab/mecab
./configure  --enable-utf8-only
make
make check
sudo make install

Mecab ipadic をインストール

cd ../mecab-ipadic
./configure --with-charset=utf8
make
sudo make install

Mecab Python bindingのインストール

これが簡単にはいかなかった。

インストラクション通りにsudo pip install mecab-python3とするとエラーが出る。確かunable to execute 'swig': No such file or directory。いろいろ調べた結果、swigというやつがたりなくて、これもやっぱり普通はHomebrewで入れるらしいが、なんとかcondaから入れてみた。

conda install -c anaconda swig

もう一度sudo pip install mecab-python3とするとエラーが出る。今度はerror: command 'gcc' failed with exit status 1。これも調べた結果、XCodeの最新版のバグで少し前の9.4を入れると解消されるというのでその通りにする。

3度目の正直、なんだかわからないけどAnacondaの人はJupyter notebookから実行した方がいいとの噂を聞いて、新しいNotebookを作って

!pip install mecab-python3

これで無事にJupyterのPythonでMecabが使えるようになった。

python
import sys
import MeCab
mecab = MeCab.Tagger()
mecab.parse("今日驚きの努力だ")
今日  名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
晴れ  名詞,一般,*,*,*,*,晴れ,ハレ,ハレ
EOS

Conclusion

あとで聞いたところ、私のやり方は全くおかしいということがよくわかった。そもそも参考にしたページをよく見たらUbuntuのインストラクションだった。Mac OSを使っているならHomebrewがないとまずおかしいとの見解らしい。そしてAnacondaを素直にダウンロードしてインストーラーを使ってインストールしたのも間違いという説(AnacondaのページではDownloadボタンに誘導されるのにだ!)。正しくはおそらく、

  • bash_profileを一時的に書き換えてAnacondaへのPATHを消し、Homebrewをインストールする(実際に次の日に夫がこの方法でさっくりHomebrewをインストールしてくれた)
  • Anacondaを一度きっぱりきれいにアンインストールして、Homebrewを入れてそこからAnacondaをインストールする。

のどちらかだったのだろうと思う。ただいろいろやってみたので勉強になりました。それにMeCabも使えるようになったし。