Can't import cv2; “DLL load failed”

杀马特。学长 韩版系。学妹 提交于 2019-12-17 16:34:28

问题


I really didn't want to start my own question with this because it seems to be a common error here. However, having wasted hours on this now and having followed every thread I could find, none of the given answers have sorted this for me.

So my only option is to provide all the information I can about my set up and hope one of you lot can recognise the problem.

I'm running on windows 10(x64) and have installed the following prebuilt binaries from the collection here.

  1. python 3.5.0-win32 (installed from python website)
  2. numpy 1.10-cp35-win32
  3. matplotlib 1.4.3-cp35-win32
  4. opencv 3.0.0-cp35-win32

Everything was installed using "pip install file_name.whl" with no error messages. However the difference is open cv will not import and I get the following error:

>>> import cv2
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.5.4\helpers\pydev\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
ImportError: DLL load failed: The specified module could not be found.

cv2.cp35-win32.pyd plus many .dll files are installed to C:\Python35\Lib\site-packages

I've tried renaming cv2.cp35-win32.pyd to cv2.pyd and copying the .dll files to C:\Python35\DLLs

I've tried using another python opencv package downloaded from the site, adding the bin directory to my PATH environment and moving the cv2.pyd file to C:\Python35\Lib\site-packages

The same error appears every time. Any help would be appreciated!


回答1:


In my situation, when using Pycharm to import cv2, it returned ImportError: DLL not found. However, using python intepreter to import I got *ImportError: ... not a win32 DLL ... * instead. So, in this situation, I had to download Visual C++ 2015 redistribution package and problem solved.

So to anyone who meets the same error, please make sure you have the VC++ redistribution package which was used to compile the DLL packed along the module.




回答2:


I had the error with Python 3.4 and opencv-python 3.3 on Windows 10. In my case the problem was due to my Anaconda distribution. I solved it with the solution from the opencv-python project page, which points to this github issue.

The problem is a missing python3.dll in the anaconda distribution. You can download the python binaries here and extract dll out of the zip archive. Put it in a folder in your PATH (e.g. C:\Users\MyName\Anaconda3) and the import should work.




回答3:


This worked for me:

pip install opencv-contrib-python

(Running Python 3.6.3 - 32bit, on Windows 7 - 64bit)




回答4:


Ok so I've got it working by completely uninstalling everything and starting from the beginning with Python 2.7.10.

It simply just does not work with Python 3. For clarity on what I did I followed these two videos in the order I'm posting them:

How to install opencv + dependencies

How to set up the path variable




回答5:


I solved it by Adding path to opencv DLLs to PATH environment variable

You can follow this guide on how to add path to environment variable




回答6:


I managed to solve the problem with uninstalling all Visual C++ Redistributable Packages until 2008 and then installing Visual C++ Redistributable Packages for VS 2015. The explanation is here: http://answers.opencv.org/question/74384/opencv-python-30-with-python-35-on-windows/



来源:https://stackoverflow.com/questions/33200025/cant-import-cv2-dll-load-failed

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!