LoginSignup
3
11

More than 5 years have passed since last update.

anacondaにおけるnumpyやscipyのインポートエラーについて

Last updated at Posted at 2017-01-27

環境とエラーについて

環境

windows 8.1 64bit
Anacoanda 4.2.0 Python3.5 version 64bit

エラーについて

インストール時のチェックマークははずさず、普通にインストール完了後、NumpyやScipyをインポートすると
anacondaでnumpyやscipyのインポートに失敗してしまうバグについて
と、同様に失敗してしまった。

上記記事を参考にsystem32のmkl_intel_thread.dllを削除してみたがエラーは直らず。
ダメもとで再起動や再インストールを試したが相変わらずインポートは失敗する。

原因

参考記事と同様にDependency Walkerを用いて
"Anaconda3\Lib\site-packages\numpy\core\multiarray.pyd"を開いて確認すると
"windows\system32\mkl_intel_thread.dll"だけではなく
"windows\system32\mkl_core.dll"もどうやらだめらしい。

解決策

参考記事によればmkl_intel_thread.dllは"Anaconda3\Library\bin"にあり、
探してみるとmkl_core.dllも同じ場所に存在した。

そこで
"windows\system32\mkl_intel_thread.dll"
"windows\system32\mkl_core.dll"
以上2つのファイルを

"Anaconda3\Library\bin\mkl_intel_thread.dll"
"Anaconda3\Library\bin\mkl_core.dll"

で上書きする。

結果

当環境ではNumpy, Scipy 共にインポートに成功した。

所感

Anacondaは初心者にとって環境構築には便利だけど、なにかエラーが発生したとき、参考になるような(自分のレベルで理解できる)情報が少なく感じる。

追記

今日(2017/01/28)matplotlibをインポートしてみたら
"windows\system32\mkl_avx.dll"か"windows\system32\mkl_def.dll"でエラーが発生したらしく失敗した。

"Anaconda3\Library\bin\mkl_avx.dll"と"Anaconda3\Library\bin\mkl_def.dll"
の2つのファイルでsystem32の上記の2つのファイルを上書きするか、system32の方の2つを削除すれば解決した。

同様のエラーでは、問題のあるファイルを"Anaconda\Library\bin"フォルダ中の同名のファイルで上書きするか、system32の同名のファイルを削除すれば、anacondaの方のファイルを参照するようになるので解決するようだ。

3
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
11