Maison  >  Article  >  développement back-end  >  Pourquoi le chargement de ma DLL échoue-t-il avec \"Erreur d'importation : échec du chargement de la DLL : %1 n'est pas une application Win32 valide\" ?

Pourquoi le chargement de ma DLL échoue-t-il avec \"Erreur d'importation : échec du chargement de la DLL : %1 n'est pas une application Win32 valide\" ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-02 02:28:02638parcourir

Why is my DLL loading failing with

Échec du chargement de la DLL lors de l'importation : application Win32 non valide

Rencontre avec l'erreur « ImportError : échec du chargement de la DLL : %1 n'est pas un Win32 valide application" malgré la présence de DLL peut être frustrant. Une cause possible, identifiée par l'utilisateur, est la non-concordance entre le nombre de bits de la DLL chargée et l'environnement système.

L'utilisateur a installé OpenCV dans un système 64 bits avec un interpréteur Python 64 bits. Cependant, ils ont remarqué que le fichier cv2.pyd situé dans C:libopencvbuildpython2.7 est une version 32 bits. Cette incompatibilité pourrait entraîner des échecs de chargement.

Pour résoudre ce problème, l'utilisateur doit obtenir une version 64 bits de cv2.pyd. Ils peuvent se référer au site Web « Binaires Windows non officiels pour les packages d'extension Python » pour rechercher et télécharger le binaire approprié.

Une fois la version 64 bits de cv2.pyd installée, assurez-vous que la variable d'environnement PYTHONPATH pointe vers son emplacement. L'utilisateur doit également vérifier que la variable PATH inclut le chemin d'accès au dossier des binaires OpenCV, tel que C:libopencvbuildx64vc11bin.

Si le problème persiste, l'utilisateur peut essayer ce qui suit :

  • Vérifiez que toutes les DLL nécessaires sont présentes dans le dossier spécifié et qu'elles sont compatibles avec l'architecture du système.
  • Utiliser un outil comme Dependency Walker pour identifier les DLL manquantes ou invalides.
  • Définissez la variable d'environnement DEBUGLOGGING=on pour activer une sortie détaillée pendant le chargement de la DLL, permettant à l'utilisateur d'identifier la DLL spécifique qui ne parvient pas à se charger.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn