ImportError: DLL load failed: The specified module could not be found
Solution 1:
(I found this answer from a video: http://www.youtube.com/watch?v=xmvRF7koJ5E)
Download
msvcp71.dll
andmsvcr71.dll
from the web.Save them to your
C:\Windows\System32
folder.Save them to your
C:\Windows\SysWOW64
folder as well (if you have a 64-bit operating system).
Now try running your code file in Python and it will load the graph in couple of seconds.
Solution 2:
I had the same issue with importing matplotlib.pylab with Python 3.5.1 on Win 64. Installing the Visual C++ Redistributable für Visual Studio 2015 from this links: https://www.microsoft.com/en-us/download/details.aspx?id=48145 fixed the missing DLLs.
I find it better and easier than downloading and pasting DLLs.
Solution 3:
For Windows 10 x64
and Python
:
Open a Visual Studio x64 command prompt, and use dumpbin:
dumpbin /dependents [Python Module DLL or PYD file]
If you do not have Visual Studio installed, it is possible to download dumpbin elsewhere, or use another utility such as Dependency Walker.
Note that all other answers (to date) are simply random stabs in the dark, whereas this method is closer to a sniper rifle with night vision.
Case study 1
-
I switched on Address Sanitizer for a Python module that I wrote using C++ using MSVC and CMake.
-
It was giving this error:
ImportError: DLL load failed: The specified module could not be found
-
Opened a Visual Studio x64 command prompt.
-
Under Windows, a
.pyd
file is a.dll
file in disguise, so we want to run dumpbin on this file. -
cd MyLibrary\build\lib.win-amd64-3.7\Debug
-
dumpbin /dependents MyLibrary.cp37-win_amd64.pyd
which prints this:Microsoft (R) COFF/PE Dumper Version 14.27.29112.0 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file MyLibrary.cp37-win_amd64.pyd File Type: DLL Image has the following dependencies: clang_rt.asan_dbg_dynamic-x86_64.dll gtestd.dll tbb_debug.dll python37.dll KERNEL32.dll MSVCP140D.dll VCOMP140D.DLL VCRUNTIME140D.dll VCRUNTIME140_1D.dll ucrtbased.dll Summary 1000 .00cfg D6000 .data 7000 .idata 46000 .pdata 341000 .rdata 23000 .reloc 1000 .rsrc 856000 .text
-
Searched for
clang_rt.asan_dbg_dynamic-x86_64.dll
, copied it into the same directory, problem solved. -
Alternatively, could update the environment variable PATH to point to the directory with the missing .dll.
Please feel free to add your own case studies here! I've made it a community wiki answer.
Solution 4:
To make it short, it means that you lacked some "dependencies" for the libraries you wanted to use. Before trying to use any kind of library, first it is suggested to look up whether it needs another library in python "family". What do I mean?
Downloading "dlls" is something that I avoid. I had the same problem with another library "kivy". The problem occurred when I wanted to use Python 3.4v instead of 3.5 Everything was working correctly in 3.5 but I just wanted to use the stable version for kivy which is 3.4 as they officially "advise". So, I switched to 3.4 but then I had the very same "dll" error saying lots of things are missing. So I checked the website and learned that I needed to install extra "dependencies" from the official website of kivy, then the problem got solved.