Windows に mojimoji を pip インストールできない場合の対処法

Windows 環境(Windows 10)に mojimoji を pip インストールしようとしていろいろ苦戦したのだけれど、いろいろとエラーが出て苦戦した…
なんとか解決したのでその記録。

環境

Windows
Windows 10 Home 1803
Python
Python 3.6.2
pip
pip 19.0.2
Visual Studio
Visual Studio 2017 Community

この環境で

> pip install mojimoji

をするのが今回の目的。

Microsoft Visual C++ Build Tools

まず最初のエラーが「error: Microsoft Visual C++ 14.0 is required.」。
ご親切に「Get it with “Microsoft Visual C++ Build Tools”: http://landinghub.visualstudio.com/visual-cpp-build-tools」とURLまで教えてくれるのですが、なんとリンク切れです。

とりあえず Visual Studio の C++ Build Tools が入っていればよさそうなので、https://visualstudio.microsoft.com/ja/downloads/ の[Tools for Visual Studio 2017] → [Build Tools for Visual Studio 2017] をダウンロードしてインストールしました。

インストール時の選択を失念してしまいましたが、現時点では次の構成が有効になっています。

  • Windows 10 SDK
  • CMake の Visual C++ ツール
  • C++/CLI サポート
  • デスクトップ用 C++ 2015.3 v14.00

unordered_map

次に表示されたのが「mojimoji.cpp(580): fatal error C1083: Cannot open include file: ‘tr1/unordered_map’: No such file or directory」でした。

よくわからないまま、Webで見つけた情報を参考に unordered_map のコピーを行ったところ解決しました。

コピー元
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\unordered_map
コピー先
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\tr1\unordered_map

tr1」ディレクトリーは存在しないので、予め作成しておきます。

rc.exe

最後のエラーが「LINK : fatal error LNK1158: ‘rc.exe‘ を実行できません。」です。単純に参照先に rc.exe が無いだけのようなので、Windows Kits からコピーしてあげたら解決しました。

コピーするファイル
rc.exe
rcdll.dll
コピー元ディレクトリー
C:\Program Files (x86)\Windows Kits\8.1\bin\x86
コピー先ディレクトリー
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin

パスのバージョンっぽいところは環境によって変わるかもです。

ここまでやって mojimoji を pip インストールすることができました。

関連書籍


退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

Pythonで動かして学ぶ 自然言語処理入門