【Python】Pyinstallerでnumpyを使ったコードをexe化する際のMKL関連エラー
numpyを使用したコードのexe化トラブル覚え書き
2. 非mklのnumpyでexe化
できればexe化後のファイル容量を小さくしたかったのでmklを使用しない方向でトライ
virtualenvで普通のnumpy(pipを使用)をインストール。
しかし同じエラー、"Cannot load mkl_intel_thread.dll"が発生
次にGohlkeさんのサイトの+vanila仕様をインストールしトライ。…でも変わらず。
[Update] Virtualenvで新しく作った環境の方にPyinstallerが入っていなかったことが上手く行かなかった原因。
Pyinstallerが入っていないことで既存の環境のライブラリを読み込みに行ってしまってた模様。
3. エラーが出ない最小のdll構成を調査
今回のコードでは下記があれば動作することが判明
- mkl_intel_thread.dll
- mkl_mc.dll
- mkl_rt.dll
- mkl_avx2.dll
- mkl_core.dll
これでも合計で200Mbyte...。mklとついたdll全部入れると500Mbyteもあるからかなり少なったがけど。。。