ImportError: DLL load failed: %1 is not a valid Win32 application. But the DLL's are there
Question: I have a situation very much like the one at [ImportError: DLL load failed: %1
is not a valid Win32
application](http://stackoverflow.com/questions/14629818/importerror-dll-load-
failed-1-is-not-a-valid-win32-application), but the answer there isn't working
for me.

My Python code says:

    
    
    import cv2
    

But that line throws the error shown in the title of this question.

I have OpenCV installed in `C:\lib\opencv` on this 64-bit machine. I'm using
64-bit Python.

My PYTHONPATH variable: `PYTHONPATH=C:\lib\opencv\build\python\2.7`. This
folder contains `cv2.pyd` and that's all.

My PATH variable: `Path=%OPENCV_DIR%\bin;...` This folder contains 39 DLL
files such as `opencv_core246d.dll`.

OPENCV_DIR has this value: `OPENCV_DIR=C:\lib\opencv\build\x64\vc11`.

The solution at [ImportError: DLL load failed: %1 is not a valid Win32
application](http://stackoverflow.com/questions/14629818/importerror-dll-load-
failed-1-is-not-a-valid-win32-application) says to add "the new opencv
binaries path (`C:\opencv\build\bin\Release`) to the Windows PATH environment
variable". But as shown above, I already have the OpenCV binaries folder
(`C:\lib\opencv\build\x64\vc11\bin`) in my PATH. And my OpenCV installation
doesn't have any Release folders (except for an empty one under build/java).

Any ideas as to what's going wrong? Can I tell Python to verbosely trace the
loading process? Exactly what DLL's is it looking for?

Thanks, Lars

# EDIT:

I just noticed that, according to <http://www.dependencywalker.com/>, the
`cv2.pyd` in `C:\lib\opencv\build\python\2.7` is 32-bit, whereas the machine
and the Python I'm running are 64-bit. Could that be the problem? And if so,
where can I find a 64-bit version of cv2.pyd?


Answer: [Unofficial Windows Binaries for Python Extension
Packages](http://www.lfd.uci.edu/~gohlke/pythonlibs/)

you can find any python libs from here

