Impoorterror: DLL load a échoué: %1 N'est pas une application Win32 valide

j'ai ce problème lorsque j'essaie d'importer cv2 sur le langage python et le message d'erreur suivant.

>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: DLL load failed: %1 is not a valid Win32 application.

je comprends qu'il y a beaucoup de messages à ce sujet où il est suggéré que le bitness du paquet est différent du paquet python.

cependant, tout ce que j'exécute est 64 bits. Je suis sur win7 64 bits, j'ai la distribution winpython 2.7.3.3, 64 bits, et j'ai compilé opencv en 64 bits avec l'instruction prévoyait ici et plaçait le cv2.pyd dll dans le dossier Lib/site-packages de python.

malheureusement la suggestion d'utiliser la version 32 bits de python ne fonctionne plus pour moi car je dois gérer des tableaux compacts trop grands pour 32 bits.

Merci!!!

------ mise à jour

la seule chose qui manquait était d'ajouter le nouveau chemin binaires opencv (C:opencvbuildbinRelease) à la variable D'environnement Windows PATH, redémarrez python.

tout semble bien fonctionner maintenant!

26
demandé sur Francis 2013-01-31 19:55:53

6 réponses

le message ImportError est un peu trompeur en raison de la référence à Win32, alors que le problème était simplement les DLLs opencv n'ont pas été trouvés.

ce problème a été résolu en ajoutant le chemin des binaires opencv à la variable D'environnement Windows PATH (par exemple, sur mon ordinateur ce chemin est : C:\opencv\build\bin\Release).

21
répondu Francis 2013-07-23 21:06:49

vous pouvez essayer d'installer la version 32 bits de opencv

4
répondu Oladapo Omonayajo 2013-06-14 09:19:40

ou vous devez reconstruire le module cv2 pour win 64bit.

2
répondu lukenothing 2013-11-20 04:05:53

tout ce que vous avez à faire est de copier le cv2.fichier pyd du dossier x86 ( C:\opencv\build\python\2.7\x86\ par exemple) à C:\Python27\Lib\site-packages\ , pas dans le dossier x64.

Espère que vous aider.

1
répondu Jhossep Augusto Popayán Avila 2015-12-09 06:26:24

quand j'ai eu cette erreur, elle s'est dissipée après que mon ordinateur s'est écrasé et redémarré. Essayez de fermer et de rouvrir votre IDE, si cela ne fonctionne pas, essayez de redémarrer votre ordinateur. Je venais d'installer les bibliothèques à ce point sans redémarrer pycharm quand j'ai eu cette erreur.

N'a jamais fermé PyCharm d'abord à tester parce que mon ordinateur détruit continue de s'écraser au hasard... je travaille là-dessus, mais ça a au moins résolu le problème.. peu de victoires.. :).

0
répondu Nick Brady 2015-09-08 03:01:54

je viens d'appuyer sur cette touche et le problème était que le paquet avait été installé à un moment donné dans le répertoire des paquets par utilisateur. (Sur Windows.) aka % AppData % \Python. Donc Python cherchait là-bas en premier, trouvant une vieille version 32 bits de la .pyd fichier, et échoue avec l'erreur signalée. Malheureusement, la désinstallation de pip par elle-même n'était pas suffisante pour nettoyer cela, et à ce moment pip 10.0.1 ne semble pas avoir un paramètre --user pour la désinstallation, seulement pour l'installation.

tl; dr La suppression de l'ancienne .pyd à partir de %AppData%\python\python27\site-packages résolu ce problème pour moi.

0
répondu Mark Allen 2018-04-25 21:03:23