J'ai une situation très similaire à celle de ImportError: le chargement de la DLL a échoué:% 1 n'est pas une application Win32 valide , mais la réponse ne fonctionne pas pour moi.
Mon code Python dit:
import cv2
Mais cette ligne jette l'erreur indiquée dans le titre de cette question.
J'ai OpenCV installé dans C:\lib\opencv
sur cette machine 64 bits. J'utilise Python 64 bits.
Ma variable PYTHONPATH: PYTHONPATH=C:\lib\opencv\build\python\2.7
. Ce dossier contientcv2.pyd
et c'est tout.
Ma variable PATH: Path=%OPENCV_DIR%\bin;...
ce dossier contient 39 fichiers DLL tels queopencv_core246d.dll
.
OPENCV_DIR a cette valeur: OPENCV_DIR=C:\lib\opencv\build\x64\vc11
.
La solution à ImportError: le chargement de la DLL a échoué:% 1 n'est pas une application Win32 valide dit d'ajouter «le nouveau chemin des binaires opencv ( C:\opencv\build\bin\Release
) à la variable d'environnement Windows PATH». Mais comme indiqué ci-dessus, j'ai déjà le dossier binaires OpenCV ( C:\lib\opencv\build\x64\vc11\bin
) dans mon PATH. Et mon installation OpenCV n'a pas de dossier Release (sauf un vide sous build / java).
Des idées sur ce qui ne va pas? Puis-je dire à Python de suivre de façon verbale le processus de chargement? Qu'est-ce que la DLL recherche exactement?
Merci, Lars
ÉDITER:
Je viens de remarquer que, selon http://www.dependencywalker.com/ , l' cv2.pyd
en C:\lib\opencv\build\python\2.7
est de 32 bits, alors que la machine et le Python sont en cours d' exécution , je suis 64 bits. Est-ce que cela pourrait être le problème? Et si oui, où puis-je trouver une version 64 bits de cv2.pyd?
PYTHONPATH
habitude de contenir les entrées que l'installation de la bibliothèque SimpleCV y avait laissées. Bien que j'aie déjà désinstallé le SimpleCV, le PYTHONPATH
n'a pas été restauré et pointait vers certains répertoires avec des versions en conflit d'OpenCV laissées par l'installation de SimpleCV. Solution: effacez le fichier PYTHONPATH
.