131 votes

ImportError: Le chargement de la DLL a échoué : %1 n'est pas une application Win32 valide. Mais les DLL sont là

J'ai une situation très similaire à celle du Error "ImportError: DLL load failed: %1 is not a valid Win32 application", mais la réponse là-bas ne fonctionne pas pour moi.

Mon code Python indique :

import cv2

Mais cette ligne provoque l'erreur affichée dans le titre de cette question.

J'ai installé OpenCV 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 contient cv2.pyd et c'est tout.

Ma variable PATH : Path=%OPENCV_DIR%\bin;... Ce dossier contient 39 fichiers DLL tels que opencv_core246d.dll.

OPENCV_DIR a cette valeur : OPENCV_DIR=C:\lib\opencv\build\x64\vc11.

La solution sur Error "ImportError: DLL load failed: %1 is not a valid Win32 application" dit d'ajouter "le nouveau chemin des binaires opencv (C:\opencv\build\bin\Release) à la variable d'environnement PATH de Windows". Mais comme indiqué ci-dessus, j'ai déjà le dossier des binaires OpenCV (C:\lib\opencv\build\x64\vc11\bin) dans mon PATH. Et mon installation OpenCV n'a pas de dossiers Release (sauf un vide sous build/java).

Qu'est-ce qui ne va pas ? Puis-je dire à Python de tracer de manière verbose le processus de chargement ? Quels fichiers DLL exactement recherche-t-il ?

J'ai remarqué que, selon http://www.dependencywalker.com/, le cv2.pyd dans C:\lib\opencv\build\python\2.7 est en 32 bits, alors que la machine et le Python que j'utilise sont en 64 bits. Est-ce que ça pourrait être le problème ? Et si oui, où puis-je trouver une version 64 bits de cv2.pyd ?

0voto

Hub Amp Points 1

Cela a fonctionné pour moi. J'ai essayé différentes méthodes, mais c'était ma meilleure solution.

Ouvrez une fenêtre de commande et tapez ce qui suit;

pip install opencv-python

(Assurez-vous que votre connexion Internet est active.)

Après cela, essayez de l'importer à nouveau.

0voto

DaveR Points 50

Il se pourrait aussi que votre version Anaconda soit en 32 bits alors qu'elle devrait être en 64 bits.

0voto

nathoe Points 3

Si vous utilisez pycharm, allez dans les paramètres -> interprétation Python et cliquez sur le bouton + puis recherchez le nom dans la liste des paquets Python là-bas Une image montrant où aller pour installer quelque chose

-2voto

Michael Ye Points 1

J'ai trouvé la solution. Peut-être pouvez-vous essayer d'utiliser la fenêtre cmd plutôt que la fenêtre d'invite Anaconda pour démarrer votre premier test Scrapy.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X