MeCabの公式のサイトではWindows用は32bitのインストーラしか提供されていないため、64bitのWindowsで64bitのPythonから使おうとすると使用できない。
64bit向けには、32bitのインストーラでインストールした後、個別にビルドしたファイルで実行ファイルとライブラリを置き換える必要がある。
http://qiita.com/ksomemo/items/02e98bf1dbd4107a8d13qiita.com
こちらのサイトに書かれていた方法で、ビルドして、Python3から使用することができた。
ただし、環境変数MECABRCがないと、pythonコマンドからMeCabを使用したスクリプトを実行すると、
Traceback (most recent call last): File "a.py", line 3, in <module> mecab = MeCab.Tagger("-Owakati") File "h:\src\mecab-python3\MeCab.py", line 307, in __init__ this = _MeCab.new_Tagger(*args) RuntimeError
というエラーが出力される。
その場合、環境変数MECABRCに、
<インストールパス>\etc\mecabrc
を設定すればよい。
また、環境変数PATHに<インストールパス>\binを追加する。
mecab-ipadic-NEologdを使う
mecab-ipadic-NEologdを使うには、まずBash on Windowsでmecab-ipadic-NEologdをインストールする。
github.com
公式に書かれている手順通りでインストールできる。
その際、git cloneするディレクトリは、Windowsから見えるパスにする。(/mnt/ドライブ名/~)
Bash on Windowsにインストールした際に、git cloneしたディレクトリ配下に
「build\mecab-ipadic-2.7.0-20070801-neologd-20170420」
というディレクトリができる。
このディレクトリを辞書として指定すれば、Windows側のMeCabでも使用できる。
ただし、辞書の文字コードは「UTF-8」となる。
Python3から使う分には問題ない。
import MeCab mecab = MeCab.Tagger(r"-Owakati -d H:\src\mecab-ipadic-neologd\build\mecab-ipadic-2.7.0-20070801-neologd-20170420") print(mecab.parse("私はペンを持っています。"))
このように「-d」オプションに辞書のパスを指定する。