Tengo una situación muy parecida a la de ImportError: Error de carga de DLL:% 1 no es una aplicación Win32 válida , pero la respuesta no me funciona.
Mi código Python dice:
import cv2
Pero esa línea arroja el error que se muestra en el título de esta pregunta.
Tengo OpenCV instalado en C:\lib\opencv
esta máquina de 64 bits. Estoy usando Python de 64 bits.
Mi PYTHONPATH variables: PYTHONPATH=C:\lib\opencv\build\python\2.7
. Esta carpeta contiene cv2.pyd
y eso es todo.
Variable My PATH: Path=%OPENCV_DIR%\bin;...
esta carpeta contiene 39 archivos DLL como opencv_core246d.dll
.
OPENCV_DIR tiene este valor: OPENCV_DIR=C:\lib\opencv\build\x64\vc11
.
La solución en ImportError: Error en la carga de DLL:% 1 no es una aplicación Win32 válida dice que agregue "la nueva ruta de binarios opencv ( C:\opencv\build\bin\Release
) a la variable de entorno PATH de Windows". Pero como se muestra arriba, ya tengo la carpeta de binarios OpenCV ( C:\lib\opencv\build\x64\vc11\bin
) en mi RUTA. Y mi instalación de OpenCV no tiene ninguna carpeta de lanzamiento (excepto una vacía en build / java).
¿Alguna idea de lo que va mal? ¿Puedo decirle a Python que rastree detalladamente el proceso de carga? ¿Exactamente qué DLL está buscando?
Gracias, lars
EDITAR:
Acabo de notar que, de acuerdo con http://www.dependencywalker.com/ , el cv2.pyd
de C:\lib\opencv\build\python\2.7
es de 32 bits, mientras que la máquina y el pitón estoy corriendo son de 64 bits. ¿Podría ser el problema? Y si es así, ¿dónde puedo encontrar una versión de 64 bits de cv2.pyd?
PYTHONPATH
solía contener las entradas que la instalación de la biblioteca SimpleCV dejó allí. A pesar de que ya he desinstalado SimpleCV, PYTHONPATH
no se restauró y apuntaba a algunos directorios con versiones conflictivas de OpenCV dejadas por la instalación de SimpleCV. Solución: borre el PYTHONPATH
.