ImportError: DLL load failed when importing Numpy installed in conda virtual environment

In Windows, I created a Conda virtual environment with the command

conda create -n test python=2.7 pandas scipy matplotlib numpy

Once it is created, I activated the virtual environment and went into a python interpreter. When trying to import numpy, I get the following error:

>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Anaconda3\envs\test\lib\site-packages\numpy\__init__.py", line 180, in <module>
    from . import add_newdocs
  File "C:\Anaconda3\envs\test\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "C:\Anaconda3\envs\test\lib\site-packages\numpy\lib\__init__.py", line 8,
 in <module>
    from .type_check import *
  File "C:\Anaconda3\envs\test\lib\site-packages\numpy\lib\type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "C:\Anaconda3\envs\test\lib\site-packages\numpy\core\__init__.py", line 14, in <module>
    from . import multiarray
ImportError: DLL load failed: The specified module could not be found.

Any ideas what is going on here? Thanks!


Solution 1:

Uninstall and install numpy again.

pip uninstall numpy
pip install numpy

Then try import again, it should work. That is what I did

Solution 2:

Unlike @Rafael, for me, libiomp5md.dll wasn't the issue. I installed Dependency Walker to investigate what was going on. Even though the dll versions were different, but Dependency Walker said it was okay.

What was wrong though, was that mkl_intel_thread.dll had warnings (red icon). If you're using Win 8++, ignore the api-win and ext-ms issues as Dependency Walker wasn't updated for new Windows versions and doesn't recognise Windows new APIs.

My solution is to copy all mkl_*.dlls from the former to the latter:

  • \Anaconda2\Library\bin
  • \Anaconda2\Lib\site-packages\numpy\core

I was able to import numpy and sklearn after that.

Solution 3:

It seems the proper way to fix this is to do:

conda install msvc_runtime

If you are in a virtual environment, add this package there.