【Mac】【Python 3.6.1】mecab-python3インストール

Mecabをダウンロードする

下記URLからダウンロードして解凍して利用する。
http://taku910.github.io/mecab/#download

Python3.6でmecab-python3を入れようとすると「python setup.py egg_info” failed with error code 1」エラーがでる

pip install mecab-python3
を実行すると
python setup.py egg_info" failed with error code 1
エラーが発生して先に進めない。

原因はsetup.pyがPython3.6に対応していないことが問題なので修正する必要がある。
エラー内容はmecab-configを認識していない。そのため必要な情報を取得できずにコケているだけである。

setup.pyを修正してpip install mecab-python3を動かせるようにする

pip install mecab-python3を使うためにはsetup.pyのmecab-configの部分を修正すればよい。
mecab-configの場所がわからない場合はwhich mecab-configでどの場所か把握する。

元のコードはこちら

#!/usr/bin/env python

from distutils.core import setup,Extension,os
import string

def cmd1(str):
return os.popen(str).readlines()[0][:-1]

def cmd2(str):
return string.split (cmd1(str))

setup(name = "mecab-python",
version = cmd1("mecab-config --version"),
py_modules=["MeCab"],
ext_modules = [
Extension("_MeCab",
["MeCab_wrap.cxx",],
include_dirs=cmd2("mecab-config --inc-dir"),
library_dirs=cmd2("mecab-config --libs-only-L"),
libraries=cmd2("mecab-config --libs-only-l"))
])

修正後がこちら

#!/usr/bin/env python

from distutils.core import setup,Extension,os

setup(name = "mecab-python",
version = '0.996',
py_modules=["MeCab"],
ext_modules = [
Extension("_MeCab",
["MeCab_wrap.cxx",],
include_dirs=['/usr/local/include'],
library_dirs=['/usr/local/lib'],
libraries=['mecab'])
])

ターミナル上で

mecab-config --version
mecab-config --inc-dir
mecab-config --libs-only-L

mecab-config --libs-only-l
最後のこのコマンドは複数表示されることもあるがmecabだけでOK。

上記コマンドを実行してパスを確認しながら修正する。

上記のように修正したあとに
python setup.py build
python setup.py install
pip install mecab-python3

これでできた!!