2014-03-06 68 views
9

最近,我已经安装了Python(X,Y)包(2.7.6.0),现在当我跑我的Python代码,它显示了一个错误的当前版本:ImportError:DLL加载失败:无法找到指定的过程。 Python的

Traceback (most recent call last): 
File "D:\Projects\comparison\Lagebestimmung\main.py", line 11, in <module> 
import cv2 
ImportError: DLL load failed: The specified procedure could not be found. 

我选择正确的OpenCV模块在安装过程中。

此外,我在我的计算机中使用了较旧版本的Python(x,y),在安装新版本之前我已将其卸载。在那个版本中,没有这样的问题。

+0

复制''cv2.pyd成'站点packages'目录? –

+0

@PriyankPatel,嗨,不,我没有。但你能解释我是什么吗?因为我还记得我安装Python(x,y)的旧版本(我已经卸载)的时间。我不需要配置或复制'cv2.pyd'到'site-packages'中。谢谢。 – Sanchit

回答

1

试试这个: 安装opencv for windows。在这里下载:

http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.1/OpenCV-2.4.1.exe/download 

然后

Copy cv2.pyd from C:\opencv\build\python\x86\2.7\ and paste it in the folder python site-packages folder . restart your IDE. 

确保已安装numpy的。如果没有,从这里得到它..

http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 
+0

嗨,再次感谢您的帮助。但是,正如我告诉你的,当你安装Python(x,y)时,它会询问你想要安装的模块/包/组件。在那里你可以选择Opencv。我想没有必要再安装一次。此外,我检查了网站包,并且已经存在这个文件“cv2.pyd”。 – Sanchit

+1

如果你已经在64位上安装python并且扩展被编译为32位,就会发生dll错误... – StefanNch

+0

嗨,我解决了这个问题。我刚刚安装了Python(x,y)的另一个版本(2.7.5.0):它工作正常。 – Sanchit

9
  1. 使用的Dependency Walker(http://www.dependencywalker.com/)您cv2.pyd从 '站点包'。
  2. 看看左上角,库树在哪里。
  3. 正常的图书馆有蓝色或灰色的图标,在左侧找到带有红色图标的图书馆,如下所示:http://i.stack.imgur.com/YiEuD.png
  4. 查找API有红旗并记得带有红色图标的库的库名称。红旗意味着父库需要一些API,这在底层库中是不存在的。在我的情况下,带有红色图标的库是'kernel32.dll',它的父库是msvcr90.dll,tbb.dll和来自'winsxs'的库,该库的名称被掩盖了。
  5. 通常可以通过获取正确版本的父库来解决问题。 例如,您正试图在Windows XP上使用为Windows Vista编译的DLL。该DLL导入一个'InitializeCriticalSectionEx'API,它在Windows XP的'kernel32.dll'中不存在。获得您的DLL的XP版本或重新编译它与'InitializeCriticalSection'而不是'Ex'将解决问题。 另一个例子:你使用的是经过编译的OpenCV与Qt 4.8.4和PyQt4一起使用,它包含Qt 4.7版本。 cv2.pyd(顺便说一下,它是一个DLL)会拒绝导入,因为OpenCV中的某些Qt API在4.7的DLL中不可用。解决的办法是将Qt库4.8.4放入你的'%PYTHONHOME%\ Lib \ site-packages \ PyQt4'文件夹或PATH中。我自己从git repo构建自己的OpenCV版本时遇到了这个问题。
0

我有同样的问题,当我使用ipython [只需在cmd上编写ipython,如果你有ipython安装]它的作品。

0

以下为我工作。假设Python的(X,Y)被安装(和OpenCV的选项在安装之初被选中),我做了以下步骤:在

  1. 下载OpenCV的-2.4.13,并提取文件给定文件夹。
  2. 复制文件“cv2.pyd”(这是一个10MB的文件)
  3. 替换“... \ Lib \ site-packages”文件夹中的文件cv2.pyd。您会注意到原始的“cv2.pyc”文件大小低于2MB。
  4. 启动Python(x,y)和Spyder。在Python控制台中键入“cv2。版本”。你可能会得到>>> cv2。 版本 - >'2.4.13'
  5. OpenCV正在运行!
1

对于使用python 3的程序员,请下载一个wheel包以安装OpenCV。

您需要确保NumPy已经安装。 Anaconda是一个很好的包来处理依赖关系。它会让你的盒子变得不平坦。

然后,下载从对应于你的Python安装版本 OpenCV的版本:http://www.lfd.uci.edu/~gohlke/pythonlibs/

您可以通过运行找到你的Python解释器的版本:

python --version 

在我的情况,我跑C-Python 3.5,我选择了: opencv_python-3.2.0-cp -cp m-wi n_amd64.whl

最后,在你下载的轮包的目录,运行:

pip install opencv_python-3.X.X-cpXX-cpXXm-xxxx.whl 
+0

曾在Python 3.6和OpenCV 3.3.0上使用Anaconda3(5.0.0)/ Windows 10 挖了4个小时SO和其他网站,卸载所有内容并重新安装所有内容,这是opencv工作的答案。即使在尝试按照SO上的许多问题中的建议替换文件“python3.dll”时,使用conda从conda-forge安装opencv对我来说也不起作用 。 – Eskapp

相关问题