Ich habe eine ähnliche Situation wie bei ImportError: Das Laden der DLL ist fehlgeschlagen:% 1 ist keine gültige Win32-Anwendung , aber die Antwort dort funktioniert bei mir nicht.
Mein Python-Code sagt:
import cv2
Diese Zeile löst jedoch den im Titel dieser Frage gezeigten Fehler aus.
Ich habe OpenCV C:\lib\opencv
auf diesem 64-Bit-Computer installiert . Ich verwende 64-Bit-Python.
Meine PYTHONPATH-Variable : PYTHONPATH=C:\lib\opencv\build\python\2.7
. Dieser Ordner enthält cv2.pyd
und das ist alles.
Meine PATH-Variable: Path=%OPENCV_DIR%\bin;...
Dieser Ordner enthält 39 DLL-Dateien wie z opencv_core246d.dll
.
OPENCV_DIR hat diesen Wert : OPENCV_DIR=C:\lib\opencv\build\x64\vc11
.
Die Lösung bei ImportError: Das Laden der DLL ist fehlgeschlagen:% 1 ist keine gültige Win32-Anwendung , die angibt, "den neuen opencv-Binärpfad ( C:\opencv\build\bin\Release
) zur Windows PATH-Umgebungsvariablen hinzuzufügen ". Aber wie oben gezeigt, habe ich bereits den OpenCV-Binärordner ( C:\lib\opencv\build\x64\vc11\bin
) in meinem PATH. Und meine OpenCV-Installation hat keine Release-Ordner (außer einem leeren unter build / java).
Irgendwelche Ideen, was falsch läuft? Kann ich Python anweisen, den Ladevorgang ausführlich zu verfolgen? Nach welchen DLLs sucht es genau?
Danke, Lars
BEARBEITEN:
Mir ist gerade aufgefallen, dass laut http://www.dependencywalker.com/ das cv2.pyd
In C:\lib\opencv\build\python\2.7
32-Bit ist, während der Computer und der Python, den ich verwende, 64-Bit sind. Könnte das das Problem sein? Und wenn ja, wo finde ich eine 64-Bit-Version von cv2.pyd?
PYTHONPATH
früher die Einträge enthielt, die die Installation der SimpleCV-Bibliothek dort hinterlassen hat. Obwohl ich SimpleCV bereits deinstalliert habe, PYTHONPATH
wurde das nicht wiederhergestellt und zeigte auf einige Verzeichnisse mit widersprüchlichen Versionen von OpenCV, die von der SimpleCV-Installation hinterlassen wurden. Lösung: Löschen Sie die PYTHONPATH
.