時系列データのクラスタリングに使えるtslearnライブラリなるものがあると知ってインストールを試みたところちょっと詰まったので備忘録を残す。
##実行環境
- Python (>3.x) with Jupyter
- Visual Studio Build Tools 2017 -15.9.4
- Windows 10 SDK (10.0.17763.0)
- CMakeのVisual C++ ツール
- ツールのコア機能のテスト-ビルドツール
- x86用とx64用のVisual C++ ATL
- x86用とx64用のVisual C++ MFC
- Windows 10 SDK (10.0.17134.0)
- デスクトップ用VC++ 2015.3 v14.00 (v140) ツールセット
因みにBuild Toolsをそもそも入れていなかったために、最初に遭遇したエラーは「VC++ (14.00)がインストールされていません」であった。
##エラーと対処
入れるものは入れたので pip install tslearn
を実行したところ以下のエラー
LINK : fatal error LNK1158: 'rc.exe' を実行できません。
RC.EXEはMicrosoft SDKの標準リソースコンパイラのコマンドライン版とのこと。
RC.EXE - Microsoft SDK リソース コンパイラ
更に調べてみるとどうもフォルダ構成がおかしいことが原因と分かった。このサイトを参考にしてC:\Program Files (x86)\Windows Kits\10\bin\x86
を確認したところ空フォルダであった。
そこで同サイトに従って
1.C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86
をコピー(参考サイトでは15063だが、最新のものでOK)
2.C:\Program Files (x86)\Windows Kits\10\bin\x86
に貼り付け
3.C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64
をコピー
4.C:\Program Files (x86)\Windows Kits\10\bin\x64
に貼り付け
をやってから再度pip install tslearn
を実行。
無事インストール完了!
さて本題の時系列クラスタリングに着手するぞ~