【问题标题】:cv2 ImportError: DLL load failed: The specified module could not be foundcv2 ImportError: DLL load failed: 找不到指定的模块
【发布时间】:2018-03-19 16:20:55
【问题描述】:

我在上一个研究项目中使用 opencv。我已经安装了 python 2.7 和 opencv 3.4。我在 Windows 8 64 位中开发了我的 python 项目,并通过 Pyinstaller 将我的应用程序从 .py 转换为 .exe,它工作正常。

但是当我将我的应用程序移动到 Windows xp pack 3 32bit 的工业机器上并尝试导入 cv2 时,我收到以下错误:

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

请注意,我尝试安装 Microsoft Visual c++ 2015 并没有解决问题。

谁能帮帮我?

【问题讨论】:

  • 工控机上python的版本是32位的吗?和opencv版本一样吗?
  • 我正在使用 opencv x86 和 python 2.7 32 位,它可以在我的计算机上运行(windows 8 x64),但它不能在工业机器上运行(window xp 32 位)

标签: python opencv


【解决方案1】:

我有同样的问题。我通过将两个 dll 与我的 .exe 文件放在同一个文件夹中来解决它。 dll是“api-ms-win-downlevel-shlwapi-l1-1-0.dll”,可以从互联网上下载,另一个是“opencv_ffmpeg***_**.dll”,可以在python中找到如果您通过 pip 安装了 python-opencv,则为 site-packages,其中 *** 是版本,** 是 32 位或 64 位。收集完这两个文件后,使用以下选项编译脚本。

pyinstaller -w script.py

现在将两个 dll 放在 .exe 所在的 dist/your_folder/ 中。编译时还要注意所有与缺少 dll 相关的警告,如果您看到任何与缺少 dll 相关的警告,请稍后将该 dll 放在 .exe 文件夹中。

【讨论】:

  • 你好@adeelz92!我在我的 exe 文件中添加了以下 2 个 dll。但还是不行,顺便说一句,你怎么知道编译时缺少 dll?
【解决方案2】:

构建opencv使用哪个版本?

【讨论】:

  • 我怎么知道 Visual C++ Redistributable for Visual Studio 的版本是否与我的 opencv 版本兼容?
  • 你是在 Windows XP 上安装 opencv 吗?你安装microsoft.com/en-US/download/details.aspx?id=48145了吗?
  • 是的,它们已经安装了,但我没有解决问题
  • "我怎么知道版本..." -- 你自己构建它并且大概知道你使用了哪个工具,或者你下载了官方发行版,其中二进制文件位于标题为的子目录中类似“vc14”的东西,它标识了它构建和打算使用的 MSVC++ 的版本。
猜你喜欢
  • 1970-01-01
  • 2020-12-04
  • 2020-07-02
  • 2020-06-30
  • 2015-12-16
  • 2019-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多