mocchaso note

サーバーエンジニアが何か色々呟いているところ。

WSLにMeCab + NEologdをインストール / Anaconda3上のPythonで使えるように

約2年越しに、↓の回避策です。
MeCabの新語辞書NEologdをインストールできない... - mocchaso note

Windowsでも、WSL (Ubuntu)を使えば、MeCab + NEologdまでインストールできます。
qiita.com

ModuleNotFoundError が出る

$ pip install mecab-python3==0.996.5で解決しました。

原因

Pythonの実行環境であるAnacondaに、mecab-python3がインストールされていないこと(pip3ではWSL上に直接インストールされる) 。

※pip, pip3がインストールされているパスの確認

$ which pip
<home directory>/anaconda3/envs/<env_name>/bin/pip

$ which pip3
/usr/bin/pip3

何故バージョン指定?

2020/07/07時点で最新版の1.0.0をインストールしたら、m = MeCab.Tagger('-Ochasen')RunTimeErrorが発生し、これを解消できなかったため。
GitHubリポジトリでもIssueが挙がっているのですが、1個前のバージョンを明示的に指定・インストールすることで一旦回避。

Pythonコード上でMeCabを使う

新語辞書NEologdを使いたい場合は、そのパスを指定する。

  • MeCabの設定ファイルのパスを確認
$ which mecab-config
/usr/bin/mecab-config
  • MeCabの辞書のパスを確認
$ /usr/bin/mecab-config --dicdir
/usr/lib/x86_64-linux-gnu/mecab/dic
  • 確認したパスから、NEologdの辞書のパスも確認
    /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd