ImportError: DLL load failed: The specified module could not be found

Question:

I have installed Python 2.5.4, Numpy 1.5.0 win32, Matplotlib 1.0.0 win32, pywin32 218. Still not able to plot graphs in Python. Here is the error I am getting :

      import pylab
   File "C:Python25libsite-packagespylab.py", line 1, in <module>
      from matplotlib.pylab import *
   File "C:Python25libsite-packagesmatplotlibpylab.py", line 216, in <module>
      from matplotlib import mpl  # pulls in most modules
   File "C:Python25libsite-packagesmatplotlibmpl.py", line 1, in <module>
      from matplotlib import artist
   File "C:Python25libsite-packagesmatplotlibartist.py", line 6, in <module>
      from transforms import Bbox, IdentityTransform, TransformedBbox, TransformedPath
   File "C:Python25libsite-packagesmatplotlibtransforms.py", line 34, in <module>
      from matplotlib._path import affine_transform
ImportError: DLL load failed: The specified module could not be found.

Please kindly help..

Asked By: DesaiM

||

Answers:

(I found this answer from a video: http://www.youtube.com/watch?v=xmvRF7koJ5E)

  1. Download msvcp71.dll and msvcr71.dll from the web.

  2. Save them to your C:WindowsSystem32 folder.

  3. Save them to your C:WindowsSysWOW64 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.

Answered By: DesaiM

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.

Answered By: Fabian Polles

Quick note:
Check if you have other Python versions, if you have removed them, make sure you did that right. If you have Miniconda on your system then Python will not be removed easily.

What worked for me: removed other Python versions and the Miniconda, reinstalled Python and the matplotlib library and everything worked great.

Answered By: Dash_bi

Installing the Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019 worked for me with a similar problem, and helped with another (slightly different) driver issue.

Answered By: 4Oh4

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

  1. I switched on Address Sanitizer for a Python module that I wrote using C++ using MSVC and CMake.

  2. It was giving this error: ImportError: DLL load failed: The specified module could not be found

  3. Opened a Visual Studio x64 command prompt.

  4. Under Windows, a .pyd file is a .dll file in disguise, so we want to run dumpbin on this file.

  5. cd MyLibrarybuildlib.win-amd64-3.7Debug

  6. 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
    
  7. Searched for clang_rt.asan_dbg_dynamic-x86_64.dll, copied it into the same directory, problem solved.

  8. 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.

Answered By: Contango

I installed vc++ which solved this problem.

Answered By: YJDev

I just uninstalled my current numpy and installed a wheel numpy from this link.

This has solved my issue. I guess we shoudn’t use dll from random source.

Answered By: Srikanth Reddy

Reinstall the related packages.

I have the same issue with numpy. I first uninstalled it:

pip uninstall numpy

and then installed again

pip install numpy==1.20.1

I needed that specific version. If you want to install other numpy versions, you may ignore ==1.20.1.

Also, during the installation, I received errors such as

statsmodels 0.12.2 requires patsy>=0.5, which is not installed.

I installed those missing prerequisites as well. e.g.,

pip install patsy
Answered By: Hadij

This might be issue of missing Microsoft Visual C++ Redistributable packages for Visual Studio 2015, 2017, 2019, and 2022 in your machine. Use the following link to download the distributable and install it in your machine.

VC_redist.x64.exe

For more: Microsoft Visual C++ Redistributable Latest Supported Downloads

Answered By: Codemaker

I’ve been through this error and what I found after a lot of investigation:-

issue was in Opencv==4.5.1 build from source with cuda and flag cuda_with_fast_math=on

I just rebuild OpenCV and disable

cuda_with_fast_math

make sure that the shared library builded with cv version matched your current version

and it works for me.

Answered By: Baher El Naggar

Since Python 3.8, it is possible that Dependencies or dumpbin /dependents reports no dependency issue, but one still gets the error "The specified module could not be found". This is because the PATH variable is no longer used for resolving DLLs of binary modules!

The solution is to use os.add_dll_directory:

import os
os.add_dll_directory(r"C:pathtoyourdlldirectory")
import your_module
Answered By: Lithy
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.