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 diePYTHONPATH
.Antworten:
Inoffizielle Windows-Binärdateien für Python-Erweiterungspakete
Hier finden Sie alle Python-Bibliotheken
quelle
Bitte überprüfen Sie, ob die von Ihnen verwendete Python-Version auch 64-Bit ist. Wenn nicht, könnte das das Problem sein. Sie würden eine 32-Bit-Python-Version verwenden und 64-Bit-Binärdateien für die OPENCV-Bibliothek installiert haben.
quelle
Wow, ich habe noch einen weiteren Fall für dieses Problem gefunden. Keines der oben genannten hat funktioniert. Schließlich nutzte ich Pythons Fähigkeit, um zu überprüfen, was geladen wurde. Für Python 2.7 bedeutet dies:
Dies ergab eine völlig unerwartete "cv2.pyd" -Datei in einem Anaconda-DLL-Verzeichnis, die nicht von mehreren Deinstallations- / Installationsversuchen berührt wurde. Python suchte zuerst dort und fand meine gute Installation nicht. Ich habe diese cv2.pyd-Datei gelöscht und imp.find_module ("cv2") erneut versucht. Python hat sofort die richtige Datei gefunden und cv2 hat funktioniert.
Wenn also keine der anderen Lösungen für Sie funktioniert, stellen Sie sicher, dass Sie Python Introspection verwenden, um zu sehen, welche Datei Python zu laden versucht.
quelle
In meinem Fall habe ich 64-Bit-Python und es war lxml, das die falsche Version war - ich hätte auch die x64-Version davon verwenden sollen. Ich habe dieses Problem gelöst, indem ich die 64-Bit-Version von lxml hier heruntergeladen habe:
https://pypi.python.org/pypi/lxml/3.4.1
Dies war die einfachste Antwort auf ein frustrierendes Problem.
quelle
Ich hatte gerade dieses Problem, es stellte sich heraus, dass ich nur die x64-Version der opencv-Datei verwendete. Versuchte das x86 und es hat funktioniert.
quelle
Wenn Ihr Build-System (in meinem Fall CMake) die Datei von
<name>.dll
nach kopiert<name>.pyd
, wird dieser Fehler angezeigt, wenn die Originaldatei keine DLL war. In meinem Fall wurde das Erstellen gemeinsam genutzter Bibliotheken deaktiviert, sodass die zugrunde liegende Datei tatsächlich eine war*.lib
.Ich habe diesen Fehler entdeckt, indem ich die
pyd
Datei in DependencyWalker geladen und festgestellt habe, dass sie nicht gültig ist.quelle
Ich hatte das gleiche Problem. Folgendes habe ich getan:
Ich heruntergeladen pywin32 Rad - Datei von hier , dann
Ich habe das pywin32- Modul deinstalliert . Führen Sie zum Deinstallieren den folgenden Befehl in der Eingabeaufforderung aus.
pip uninstall pywin32
Dann habe ich pywin32 neu installiert . Öffnen Sie zur Installation die Eingabeaufforderung in demselben Verzeichnis, in dem sich die pywin32-Raddatei befindet. Führen Sie dann den folgenden Befehl aus.
pip install <Name of the wheel file with extension>
Die Raddatei lautet wie folgt : piwin32-XXX-cpXX-none-win32.whlEs löst das Problem für mich. Vielleicht möchten Sie es auch ausprobieren. Hoffe, es funktioniert auch für Sie.
quelle
Ich habe die
cv2.pyd
Datei aus dem/opencv/build/python/2.7/x86
Ordner anstatt aus dem/x64
Ordner in den Ordner kopiertC:/Python27/Lib/site-packeges
. Ich habe die restlichen Anweisungen hier befolgt .Von einer anderen Person hinzugefügt, nicht überprüft: Ich kopiere auch eine Datei
cv2.pyd
in einen OrdnerC:/Python27/Lib/site-packages/cv2
. Es klappt.quelle
Für mich war das Problem, dass ich verschiedene Versionen von Python im selben Eclipse-Projekt verwendete. Mein Setup stimmte nicht mit den Projekteigenschaften und den Python-Versionen " Konfiguration ausführen" überein .
Unter Projekt> Eigenschaften> PyDev hatte ich den Interpreter auf Python2.7.11 eingestellt.
Unter Run Configurations> Interpreter habe ich den Standardinterpreter verwendet. Durch Ändern in Python 2.7.11 wurde das Problem behoben.
quelle
Ich hatte das gleiche Problem, als ich eine andere Version von 2.7.x Python auf meinem System mit einem 32-Bit-Windows-Installationsprogramm deinstallierte und neu installierte. Bei den meisten meiner Importanweisungen ist der gleiche Fehler aufgetreten. Ich habe das neu installierte Python deinstalliert und ein 64-Bit-Windows-Installationsprogramm heruntergeladen und Python erneut installiert, und es hat funktioniert. Hoffe das hilft dir.
quelle
Ich hatte also Probleme, vtk unter Windows zu installieren (da ich Python 3.7 verwende, ist bisher keine Binärdatei verfügbar, nur für ältere Python-Versionen. Pip install vtk funktioniert nicht).
Ich habe Python in meinem cmd geschrieben:
Python 3.7.3 on win32
Ich weiß jetzt, dass Python 3.7.3 auf 32 Bit läuft.
Ich habe dann das richtige Rad bei VTK-8.2.0-cp37-cp37m-win32.whl heruntergeladen
Als nächstes habe ich das Rad installiert:
Dann habe ich es getestet und es hat funktioniert:
quelle
Numpy aktualisieren.
pip install numpy --upgrade
Arbeite für mich!!
quelle
Zuerst habe ich
cv2.pyd
von/opencv/build/python/2.7/x86
nach kopiertC:/Python27/Lib/site-packeges
. Der Fehler warDann habe ich installiert
numpy-1.8.0-win32-superpack-python2.7.exe
und opencv funktioniert gut.quelle
Sie können
opencv
von offiziellen oder inoffiziellen installieren Websites .Lesen Sie diese Frage und dieses Problem, wenn Sie verwenden
Anaconda
.quelle
quelle
Es hat eine sehr einfache Lösung. Nach der Installation
opencv
platzierencv2.pyd
vonC:\opencv\build\python\2.7\ **x64**
bisC:\Python27\Lib\site-packages
stattdessen
cv2.pyd
vonC:\opencv\build\python\2.7\ **x86**
bis platzierenC:\Python27\Lib\site-packages
quelle
Ich habe diesen Fehler beim Importieren von MySQLdb erhalten.
Was für mich funktioniert hat, war Python zu deinstallieren und dann neu zu installieren.
Ich habe den Fehler nach der Installation von npm ( https://www.npmjs.com/get-npm ) erhalten. Eine Sache, die es tat, war Python zu installieren, obwohl ich es bereits hatte.
quelle
Das hat bei mir funktioniert. Ich habe verschiedene Methoden ausprobiert, aber dies war meine beste Lösung.
Öffnen Sie die Eingabeaufforderung und geben Sie Folgendes ein:
pip install opencv-python
. (Stellen Sie sicher, dass Ihr Internet eingeschaltet ist). Versuchen Sie danach erneut, es zu importieren.quelle
Dieser hat mit mir gearbeitet
quelle
Ich habe die Lösung gefunden. Vielleicht können Sie versuchen, das cmd-Fenster anstelle des Anaconda-Eingabeaufforderungsfensters zu verwenden, um Ihren ersten Scrapy-Test zu starten.
quelle