1. ホーム
  2. パイソン

anaconda: import numpy がエラーを報告しました。ImportError: DLL のロードに失敗しました。指定されたモジュールが見つかりませんでした。

2022-03-02 07:48:21
<パス

私のnumpyのバージョンは1.15.1で、anacondaの環境を使用しています。
今日、numpy ライブラリをインポートする際に予期せぬエラーに遭遇しました。

>>> import numpy
Traceback (most recent call last):
  File "C:\Users\peter\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\core\__init__.py", line 16, in <module>
    from . import multiarray
ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "
"
, line 1, in <module>
  File "C:\Users\peter\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\__init__.py", line 142, in <module>
    from . import add_newdocs
  File "C:\Users\peter\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "C:\Users\peter\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\lib\__init__.py", line 8, in <module>
    from .type_check import *
  File "C:\Users\peter\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\lib\type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "C:\Users\peter\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\core\__init__.py", line 26, in <module>
    raise ImportError(msg)
ImportError:
Importing the multiarray numpy extension module failed.
Most likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try `git clean -xdf` (removes all
files not under version control).  Otherwise reinstall numpy.

Original error was: DLL load failed: The specified module could not be found.


意外なことに、sypderでnumpyをインポートしてもエラーにならないのですが、コマンドラインからnumpyをインポートすると、上記のようなエラーになります。

解決策1

この問題は、もしかしたら libiomp5md.dll 原因
C:\WindowsSystem32 ディレクトリに lbiomp5md.dll というdllが存在する場合。
そしてnumpy自体もC:Userspeter⇄Local⇄Library⇄libiomp5md.dllを持っています。
そうすると、numpy はどの dll をロードすればよいのかわからなくなる可能性が高いです。
解決策としては、C: \WindowsSystem32 ディレクトリにある libiomp5md.dll を libiomp5md.dll.bak にリネームします (他のプログラムがこの DLL を使用する場合、詳細は後述します)。

解決策2

この問題は、intelのDLLファイルが原因である可能性もあります。
intelでは、mkl*.dllをC:³³³³ディレクトリに配置しています。
このディレクトリをシステムの環境変数PATHに追加して、端末を再起動すればOKです(自分のディレクトリに置き換えることに注意してください)。

解決策3

上記の2つの解決策でうまくいかない場合は、numpyを再インストールしてみてください。

pip uninstall numpy
pip install numpy


この方法は不思議とうまくいく

参考にしてください。