在windows 2012 R2 x64中,python3.7 64x
pip install opencv-contrib-python安装时没有任何错误。
当我试图导入它时
import cv2告诉我这个错误:
Traceback (most recent call last):
File "test.py", line 1, in <module>
import cv2
File "C:\Program Files\Python37\lib\site-packages\cv2\__init__.py", line 3, in
<module>
from .cv2 import *
ImportError: DLL load failed: The specified module could not be found.我看到了关于这个错误的另一个话题,但是他们的解决方案对我来说行不通:
有些人说这个问题是因为蟒蛇,而我甚至连水蟒都没有。很多人说,问题32或64版本,我尝试和失望。很多关于系统变量..。
什么dll未能加载?cv2?为什么?
到目前为止,我尝试的是:
更新
未来2天
我试图在下面的文章中提到的依赖者的基础上来管理缺失的dll,下载所有的dll并将它们放到system 32中,这是一个很好的线索,但并不能解决问题。
日4,5
我的下一步,尝试在我的机器上编译OpenCV,安装visual 2012 + cmake,基于文档编译2版本,64x和32,编译本身就有很多问题(比如缺少c lang中的一些库,需要安装Visual 2012的VisualC++可再发行版.)我解决了所有这些问题,然后我有两个成功的编译版本,但两者在缺少dll时都有相同的问题,编译过程非常缓慢,给了我2天的时间。所以如果这次任务失败了:/我在寻找一种新的方式.
DAY 6
我的下一步是尝试在我的计算机上使用docker运行OpenCV (我尝试了,但是docker只是安装在windows 10和windows server 2016上),所以我寻找另一种选择。我发现Vagrant像码头一样工作,但是今天我用VM (可视盒)花时间写这篇文章,太棒了,对接者和流浪汉的概念是如此的吸引人,我玩这个游戏就像我有一个新的谜题:)第一个错误显示在.无限的错误继续存在:
Day 7
迷航测试也失败了,因为我的windows server 2012是一台vb机器(可视化服务器),在另一个可视框中运行一个可视框是不可能的!所以我需要新线索:
日8-9
尝试使用VMware安装迷航器,我下载VMware,不幸的是,这个插件不是免费的(79美元),所以我尝试使用pythonanywhere.com,它允许您访问已经安装完整Python环境的机器。在这个自由的帐户里,你不能用urllib打开openurl,还有更多的限制.所以我想试着在VMware上安装ubuntu .下班后我在这里读到了结果。基于同样的原因,vb (可视框)是不可能的。
发布于 2019-01-23 06:40:13
如果您使用的是windows 10N发行版,则不会预装windows媒体功能包,这是在OpenCV版本3.4及以后需要的。
首选的解决方案是将功能包安装在:https://www.microsoft.com/en-us/software-download/mediafeaturepack上。
请小心选择适用于当前版本的windows的版本。
如果这不是一个选项,则返回到不具有dll依赖项的较早版本的OpenCV,您可以通过:pip install opencv-python=3.3.0.9执行此操作。
自从windows推出N版以来,这个问题在许多地方都有出现,并且对整个windows环境产生了许多影响,识别这个问题的最快方法是在边缘浏览器中打开youtube,如果说没有找到HTML5媒体插件,这就是问题所在。
更新2020年5月:有一种新的方式来安装Windows10N的媒体包。
https://support.microsoft.com/en-us/help/4562569/media-feature-pack-for-windows-10-n-may-2020
发布于 2018-09-15 23:46:06
我也有同样的错误(尽管我自己编译了OpenCV ),在我的例子中缺少一些DLL依赖项。您可以使用程序依赖沃克来检查这一点。
下载Dependency并运行它,并使用Dependency打开文件cv2.pyd,如果pip包安装正确,它应该在C:\Program Files\Python37\lib\site-packages\cv2\中。
这个程序然后扫描依赖项(可能需要几分钟),然后以红色显示缺少的DLL文件。
发布于 2018-11-05 15:43:45
我在Windows 2012 r2中也遇到过类似的问题。经过大量的调查,我发现mfplat.dll缺失了,这与有关。
因此,您必须手动安装这些特性,以便获得与窗口媒体服务相关的dll。
在此之后,所有所需的opencv dll都将可用。
https://stackoverflow.com/questions/52349669
复制相似问题