環境
Windows 10 Home 64bit
conda 4.8.1 (Python 3.7.6)
原因
DTMソフトなどのインストーラが、C:\Windows\System32
の中に
- mkl_*.dll (*はワイルドカード)
- libiomp5md.dll
をインストールしてしまい、コンフリクトを起こしてしまうことが原因のようだ。
対処
上記のファイルを別フォルダに移すか、拡張子の後ろに.bakをつけるなどしてファイル名を変える、などで対処ができる。
ただし、この対処を行うと上記ファイルをインストールしたソフトが動かなくなる可能性がある。
ソフトのインストールフォルダ内にこれらのファイルを置くことでそちらも対処可能。
余談
普通にググっても古い情報ばかりにあたりなかなか解決しなかったが、Twitterで調べたら解決方法に行き当たった。最新情報を取得できるのはTwitterのメリットだと実感。
筆者が今後numpyを使うときは、どのソフトにどう影響がでるか分からないためAnacondaを諦めてGoogle Colabか仮想環境を利用した開発を検討しようと思う。本当はDockerなどの仮想環境を使ったほうがいいのかもしれない。
何か他に良い解決方法があれば教えてください。
参考
情報源
https://twitter.com/zigzph/status/1150379847237025792
https://twitter.com/zigzph/status/1150379988442464257
参考になりそう
https://stackoverflow.com/questions/57567892/intel-mkl-fatal-error-cannot-load-mkl-intel-thread-dll