- Notifications
You must be signed in to change notification settings - Fork896
Description
After doing a simplepip install opencv-python
orpip install opencv-contrib-python
and trying to import the library, I ran into this issue:
λ pythonPython 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul 5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> import cv2Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Anaconda3\lib\site-packages\cv2\__init__.py", line 7, in <module> from . import cv2ImportError: DLL load failed: The specified module could not be found.
The readme suggests installing theVisual C++ Redistributable for Visual Studio 2015
but I already had it installed (actually had Visual Studio itself installed as well).
Checking the dependencies of the pyd binary in this package (usingdumpbin which comes with Visual Studio):
λ dumpbin.exe C:\Anaconda3\Lib\site-packages\cv2\cv2.cp35-win_amd64.pyd /IMPORTS | grep dll python3.dll python35.dll MSVFW32.dll AVIFIL32.dll AVICAP32.dll KERNEL32.dll USER32.dll GDI32.dll ole32.dll OLEAUT32.dll COMDLG32.dll ADVAPI32.dll
After checking if these were in the PATH I was surprised to find thatpython3.dll
was the only one that wasn't!
Althoughpython3.dll
comes with the standard CPython install, it's not packaged with Anaconda for some reason.ContinuumIO/anaconda-issues#1394 references this and it seems like it's just not supported(?).
As a workaround suggested in that thread, I solved this by just copyingpython3.dll
from the officialCPython 3.5.2 binaries (specifically from theWindows x86-64 embeddable zip file) intoC:\Anaconda3
, although I imagine it would work being anywhere in your PATH.
I thought I'd share this bit of troubleshooting since Anaconda is a popular distribution among academics and so is OpenCV, so I figure I might not be the only one running into this issue. Maybe a note in the readme might help others until Anaconda resolves this?
Alternatively, themenpo/opencv3 Anaconda package would also work but I don't think it supports ffmpeg nor opencv-contrib.
For reference, I'm running on Python 3.5.2 which came with Anaconda 4.2.0 (official installer), althoughconda info
reports a slightly newer version:
λ conda infoCurrent conda install: platform : win-64 conda version : 4.3.16 conda is private : False conda-env version : 4.3.16 conda-build version : 2.0.2 python version : 3.5.2.final.0 requests version : 2.12.4 root environment : C:\Anaconda3 (writable) default environment : C:\Anaconda3 envs directories : C:\Anaconda3\envs C:\Users\Talmo\AppData\Local\conda\conda\envs C:\Users\Talmo\.conda\envs package cache : C:\Anaconda3\pkgs C:\Users\Talmo\AppData\Local\conda\conda\pkgs channel URLs : https://repo.continuum.io/pkgs/free/win-64 https://repo.continuum.io/pkgs/free/noarch https://repo.continuum.io/pkgs/r/win-64 https://repo.continuum.io/pkgs/r/noarch https://repo.continuum.io/pkgs/pro/win-64 https://repo.continuum.io/pkgs/pro/noarch https://repo.continuum.io/pkgs/msys2/win-64 https://repo.continuum.io/pkgs/msys2/noarch config file : None offline mode : False user-agent : conda/4.3.16 requests/2.12.4 CPython/3.5.2 Windows/10 Windows/10.0.15063
Cheers and thanks for all the work you put into this repo!