はじめに
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を起動し、
pip install ipykernel
を実行。これは無事成功。次に「pip install mecab-python-windows」を実行したのですが、下記エラーが発生。
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②)を見つけまして。
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」を実行するのが良いようです。