1

我尝试导入一个模块:

import cv

我收到以下错误消息:

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

但是如果我尝试导入一个绝对不存在的库,例如:

import blabla

我得到:

ImportError: No module named blabla

因此,我得出结论,cv图书馆并没有完全隐藏。Python能够看到一些东西。有谁知道 Python 能够看到什么以及缺少什么?

添加

Traceback (most recent call last):
File "<stdin>", line 1, in <module>

添加 2

在包含库的目录中有包含许多文件cv的子目录 ( )。所以,我尝试了:C:\OpenCV2.2\bin*.dll

import sys
sys.path.append("C:\OpenCV2.2\bin")

我仍然得到“dll加载失败”。有没有办法找出究竟缺少哪个“dll”文件。我的意思是,Python 试图找到一个特定的 dll 文件(比如说 cv.dll)却找不到它?

4

3 回答 3

3

在这种特殊情况下,“DLL 加载失败”是由使用 Python 2.6 和 OpenCV 2.2 引起的。您应该使用 Python 2.7,因为 cv.pyd 与 python27.dll 链接。

于 2011-02-27T13:32:25.010 回答
1

ImportError 可能会令人困惑,因为当您尝试导入的模块尝试导入其他内容时可能会抛出它,并且因为所有导入代码都是用 C 编写的,所以您并不总是得到有用的回溯。

在这种情况下,看起来好像 cv 本身是一个 DLL,或者它尝试导入的某个模块是一个 DLL。DLL 不会加载,因为它依赖于系统上不存在的其他 DLL。

如果您不能轻易看到缺少什么依赖项,您可以尝试使用 Microsoft 的“ depends ”工具来查找。

于 2011-02-21T10:36:02.370 回答
0

很可能 Python 找到了纯 Python 模块 cv,它找不到它需要的 DLL。

于 2011-02-21T10:24:55.017 回答