Ho una situazione molto simile a quella in ImportError: caricamento della DLL non riuscito:% 1 non è un'applicazione Win32 valida , ma la risposta non funziona per me.
Il mio codice Python dice:
import cv2
Ma quella riga genera l'errore mostrato nel titolo di questa domanda.
Ho OpenCV installato C:\lib\opencvsu questa macchina a 64 bit. Sto usando Python a 64 bit.
La mia variabile PYTHONPATH: PYTHONPATH=C:\lib\opencv\build\python\2.7. Questa cartella contiene cv2.pyde basta.
La mia variabile PATH: Path=%OPENCV_DIR%\bin;...questa cartella contiene 39 file DLL come opencv_core246d.dll.
OPENCV_DIR ha questo valore: OPENCV_DIR=C:\lib\opencv\build\x64\vc11.
La soluzione in ImportError: caricamento della DLL non riuscito:% 1 non è un'applicazione Win32 valida dice di aggiungere "il nuovo percorso binari opencv ( C:\opencv\build\bin\Release) alla variabile di ambiente PATH di Windows". Ma come mostrato sopra, ho già la cartella dei binari di OpenCV ( C:\lib\opencv\build\x64\vc11\bin) nel mio PERCORSO. E la mia installazione di OpenCV non ha cartelle di rilascio (eccetto una vuota in build / java).
Qualche idea su cosa sta andando storto? Posso dire a Python di tracciare verbalmente il processo di caricamento? Che tipo di DLL sta cercando esattamente?
Grazie, Lars
MODIFICARE:
Ho appena notato che, in base alla http://www.dependencywalker.com/ , l' cv2.pydin C:\lib\opencv\build\python\2.7è a 32 bit, mentre la macchina e il Python sto correndo sono a 64-bit. Potrebbe essere questo il problema? E se è così, dove posso trovare una versione a 64 bit di cv2.pyd?
PYTHONPATHconteneva le voci che l'installazione della libreria SimpleCV ha lasciato lì. Nonostante avessi già disinstallato il SimpleCV, PYTHONPATHnon è stato ripristinato e puntava ad alcune directory con versioni in conflitto di OpenCV lasciate dall'installazione di SimpleCV. Soluzione: cancella il file PYTHONPATH.