windows10でPython用MeCabを使用するための準備（2022年1月）

# はじめに
windows10でpython用MeCabを使用するため環境を整えようとしたところ、いろいろエラーが出て、いくつかの記事をはしごしました。まとまった記事があっても良いな～と思ったので下記、一連の流れをざっくりとした記録として残します。

# 手順0. 環境
- Windows10 64bit
- Python 3.8.6
- Anaconda3 64bit

# 手順1. MeCab実行環境を導入：MeCabインストール
Windows10 64bitのため、以下からインストーラをダウンロード。

　https://github.com/ikegami-yukino/mecab/releases/tag/v0.996.2

mecab-64-0.996.2.exeをダウンロードしたら、右クリックから管理者として実行。
基本的には「OK」「次へ」「はい」ですが、文字コードをデフォルトをShift-JISからUTF-8にしておくこと。

　★参考URL①： https://obenkyolab.com/?p=2682

# 手順2. mecab-pythonの導入：(mecab-python3の代わりに)mecabをpip install
次は、上記の参考URL①ではなく、

　★参考URL②：https://qiita.com/menon/items/f041b7c46543f38f78f7

上記のURL②を参考に、まずはアプリ一覧からAnaconda Promptを起動し、

```cmd
pip install ipykernel
```

を実行。これは無事成功。次に「pip install mecab-python-windows」を実行したのですが、下記エラーが発生。

```cmd
Collecting mecab-python-windows
  Using cached mecab-python-windows-0.996.3.tar.gz (53 kB)
Building wheels for collected packages: mecab-python-windows
  Building wheel for mecab-python-windows (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: 'C:\★\anaconda3\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\★\\pip-install-ost7lbw6\\mecab-python-windows\\setup.py'"'"'; __file__='"'"'C:\\★\\pip-install-ost7lbw6\\mecab-python-windows\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\★\pip-wheel-b3rz0w3o'
       cwd: C:\★\pip-install-ost7lbw6\mecab-python-windows\
  Complete output (8 lines):
  running bdist_wheel
  running build
  running build_py
  file MeCab.py (for module MeCab) not found
  file MeCab.py (for module MeCab) not found
  running build_ext
  building '_MeCab' extension
  error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/
  ----------------------------------------
  ERROR: Failed building wheel for mecab-python-windows
  Running setup.py clean for mecab-python-windows
Failed to build mecab-python-windows
Installing collected packages: mecab-python-windows
    Running setup.py install for mecab-python-windows ... error
    ERROR: Command errored out with exit status 1:
     command: 'C:\★\anaconda3\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\★\\pip-install-ost7lbw6\\mecab-python-windows\\setup.py'"'"'; __file__='"'"'C:\\★\\pip-install-ost7lbw6\\mecab-python-windows\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\★\pip-record-0axhvgxu\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\★\anaconda3\Include\mecab-python-windows'
         cwd: C:\★\pip-install-ost7lbw6\mecab-python-windows\
    Complete output (8 lines):
    running install
    running build
    running build_py
    file MeCab.py (for module MeCab) not found
    file MeCab.py (for module MeCab) not found
    running build_ext
    building '_MeCab' extension
    error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'C:\★\anaconda3\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\★\\pip-install-ost7lbw6\\mecab-python-windows\\setup.py'"'"'; __file__='"'"'C:\\★\\pip-install-ost7lbw6\\mecab-python-windows\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\★\pip-record-0axhvgxu\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\★\mecab-python-windows' Check the logs for full command output.
```

ということでまたググると、やはり上手くいっていない方が自分の他にもいる様子。代わりに実行して上手くいったのが、下記。

　★参考URL③：https://teratail.com/questions/282254

```
pip install mecab
```

これは無事成功！インストールが完了したら参考URL②の通りに、

```
(MeCabのインストール先)/bin
```

にある"libmecab.dll"というファイルを

```
(Anacondaのインストール先)/Lib/site-packages
```

にコピー＆ペースト。

# 超簡単に動作確認してみる

手順2まで完了したら、PowerShell・CommandPromptを起動。pythonを実行状態("python"を入力してEnter)にして、まずは下記を打ってEnterでエラーが出ないことを確認する。

```
import MeCab
```

エラー出ず！良かった。ということで上記に続けて下記も打ってEnterで実行してみる。

```
m = MeCab.Tagger ("-Ochasen")
print(m.parse ("すもももももももものうち"))
```
すると下記のように分析・出力される。上手くいっていそう！

```
すもも  スモモ  すもも  名詞-一般
も      モ      も      助詞-係助詞
もも    モモ    もも    名詞-一般
も      モ      も      助詞-係助詞
もも    モモ    もも    名詞-一般
の      ノ      の      助詞-連体化
うち    ウチ    うち    名詞-非自立-副詞可能
EOS
```

# ちなみに…手順2で何故mecab-python3のインストールをしなかったのか
なぜ参考URL①のStep2「mecab-python3のインストール」を実行しなかったかというと、下記のようなエラーが発生したからです。その解決のためにググっていたらより良い記事（参考URL②）を見つけまして。

```cmd
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, 
status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: 
WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1124)'))': /simple/mecab-python3/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1124)'))': /simple/mecab-python3/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1124)'))': /simple/mecab-python3/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1124)'))': /simple/mecab-python3/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1124)'))': /simple/mecab-python3/
Could not fetch URL https://pypi.org/simple/mecab-python3/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/mecab-python3/ (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1124)'))) - skipping
ERROR: Could not find a version that satisfies the requirement mecab-python3
ERROR: No matching distribution found for mecab-python3
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1124)'))) - skipping
```

これに関しても何でかな～とググってみたところ、windowsには適していないらしく…代わりに「pip install mecab-python-windows」を実行するのが良いとのこと。
　・参考URL②-1：https://teratail.com/questions/256363
前述の通り「pip install mecab-python-windows」は上手くいかなかったので、いずれにせよ手順2の通り「pip install mecab」を実行するのが良いようです。