ImportError:DLL加载失败:找不到指定的模块

Des*_*aiM 36 python numpy matplotlib

我已经安装了Python 2.5.4,Numpy 1.5.0 win32,Matplotlib 1.0.0 win32,pywin32 218.仍然无法在Python中绘制图形.这是我得到的错误:

      import pylab
   File "C:\Python25\lib\site-packages\pylab.py", line 1, in <module>
      from matplotlib.pylab import *
   File "C:\Python25\lib\site-packages\matplotlib\pylab.py", line 216, in <module>
      from matplotlib import mpl  # pulls in most modules
   File "C:\Python25\lib\site-packages\matplotlib\mpl.py", line 1, in <module>
      from matplotlib import artist
   File "C:\Python25\lib\site-packages\matplotlib\artist.py", line 6, in <module>
      from transforms import Bbox, IdentityTransform, TransformedBbox, TransformedPath
   File "C:\Python25\lib\site-packages\matplotlib\transforms.py", line 34, in <module>
      from matplotlib._path import affine_transform
ImportError: DLL load failed: The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)

请帮忙..

Des*_*aiM 20

(我从视频中找到了这个答案:http://www.youtube.com/watch?v = xmvRF7koJ5E)

  1. 下载msvcp71.dllmsvcr71.dll上传到网络.

  2. 将它们保存到您的C:\Windows\System32文件夹中

  3. 将它们保存到您的C:\Windows\SysWOW64文件夹中(如果您有64位操作系统).

现在尝试在Python中运行您的代码文件,它将在几秒钟内加载图形.

  • 如果不是这样,请请求@JFFIGK以提出解决方案。 (3认同)
  • 请不要相信某些 YouTube 视频中发现的 dll - 这是一个非常危险的解决方案。如果可能,从 Microsoft 官方来源安装所需的 dll。 (3认同)
  • 也许比这更简单?当我在另一个上下文中遇到相同的错误时,我按照 /sf/ask/3117599201/ 进行操作,然后出现@User1024的答案,添加一个 Path 变量。 (2认同)

小智 14

我在Win 64上使用Python 3.5.1导入matplotlib.pylab时遇到了同样的问题.从以下链接安装Visual C++RedistributablefürVisualStudio 2015:https://www.microsoft.com/de-at/download/details. aspx?id = 48145修复了丢失的DLL.

我发现它比下载和粘贴DLL更好,更容易.


Lit*_*thy 8

从 Python 3.8 开始,有可能存在依赖关系dumpbin /dependents报告没有依赖关系问题,但仍然会收到错误“找不到指定的模块”。这是因为PATH变量不再用于解析二进制模块的 DLL!

解决方案是使用os.add_dll_directory

import os
os.add_dll_directory(r"C:\path\to\your\dll\directory")
import your_module
Run Code Online (Sandbox Code Playgroud)


Con*_*ngo 7

对于Windows 10 x64 Python

打开 Visual Studio x64 命令提示符,并使用dumpbin

dumpbin /dependents [Python Module DLL or PYD file]
Run Code Online (Sandbox Code Playgroud)

如果您没有安装 Visual Studio,则可以在其他地方下载 dumpbin,或使用其他实用程序,例如Dependency Walker

请注意,所有其他答案(迄今为止)都只是在黑暗中随机刺伤,而这种方法更接近具有夜视功能的狙击步枪。

案例研究 1

  1. 我为我使用 C++ 编写的 Python 模块打开了Address Sanitizer,使用 MSVC 和 CMake。

  2. 它给出了这个错误: ImportError: DLL load failed: The specified module could not be found

  3. 打开 Visual Studio x64 命令提示符。

  4. 在Windows下,.pyd文件就是.dll变相的文件,所以我们要对这个文件运行dumpbin。

  5. cd MyLibrary\build\lib.win-amd64-3.7\Debug

  6. dumpbin /dependents MyLibrary.cp37-win_amd64.pyd 打印这个:

    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
    
    Run Code Online (Sandbox Code Playgroud)
  7. 搜索clang_rt.asan_dbg_dynamic-x86_64.dll,复制到同一目录下,问题解决。

  8. 或者,可以更新环境变量 PATH以指向缺少 .dll 的目录。

请随时在此处添加您自己的案例研究!我已将其设为社区 wiki 答案。

  • 这个答案值得更多的赞成。它提供了有关任何“ImportError”问题的见解,这是顶部结果页面。 (3认同)
  • 这帮助我修复了问题,但我必须检查 dll 的依赖关系(我使用 Qtcore,它需要 libstdc++、libwinpthread 和 libgcc)。文件夹中没有这些 dll 会导致导入错误。 (2认同)

4Oh*_*Oh4 5

安装Microsoft Visual C++ Redistributable for Visual Studio 2015、2017 和 2019对我来说解决了类似的问题,并帮助解决了另一个(略有不同)驱动程序问题。