python पहल आयात त्रुटि: डीएलएल लोड विफल:% 1 वैध Win32 अनुप्रयोग नहीं है। लेकिन डीएलएल वहाँ हैं




है कुछ ऐसी ही बात जो चुप हूँ (12)

वाह, मुझे इस समस्या के लिए एक और मामला मिला। उपरोक्त में से कोई भी काम नहीं किया। आखिरकार मैंने पाइथन की क्षमता का पता लगाया कि क्या लोड किया जा रहा था। पायथन 2.7 के लिए इसका मतलब है:

import imp
imp.find_module("cv2")

यह एक एनाकोंडा डीएलएल निर्देशिका में एक पूरी तरह अप्रत्याशित "cv2.pyd" फ़ाइल बन गया जो एकाधिक अनइंस्टॉल / इंस्टॉल प्रयासों से छुआ नहीं था। पाइथन पहले वहां देख रहा था और मेरी अच्छी स्थापना नहीं ढूंढ रहा था। मैंने उस cv2.pyd फ़ाइल को हटा दिया और फिर imp.find_module ("cv2") को फिर से कोशिश की और पायथन तुरंत सही फ़ाइल पाई और सीवी 2 काम करना शुरू कर दिया।

इसलिए यदि कोई अन्य समाधान आपके लिए काम नहीं करता है, तो सुनिश्चित करें कि आप पाइथन आत्मनिरीक्षण का उपयोग यह देखने के लिए करते हैं कि कौन सी फ़ाइल पायथन लोड करने का प्रयास कर रहा है।

मेरे पास ImportError पर एक जैसी स्थिति है : डीएलएल लोड विफल:% 1 वैध Win32 एप्लिकेशन नहीं है , लेकिन उत्तर मेरे लिए काम नहीं कर रहा है।

मेरा पायथन कोड कहता है:

import cv2

लेकिन वह पंक्ति इस प्रश्न के शीर्षक में दिखाए गए त्रुटि को फेंकता है।

मेरे पास इस 64-बिट मशीन पर C:\lib\opencv में OpenCV स्थापित है। मैं 64-बिट पायथन का उपयोग कर रहा हूँ।

मेरा PythonPATH चर: PYTHONPATH=C:\lib\opencv\build\python\2.7 । इस फ़ोल्डर में cv2.pyd और यह सब कुछ है।

मेरा पथ चर: Path=%OPENCV_DIR%\bin;... इस फ़ोल्डर में 39 DLL फ़ाइलें हैं जैसे opencv_core246d.dll

OPENCV_DIR में यह मान है: OPENCV_DIR=C:\lib\opencv\build\x64\vc11

ImportError पर समाधान : डीएलएल लोड विफल:% 1 मान्य Win32 अनुप्रयोग नहीं है "विंडोज ओपनसीवी बाइनरी पथ ( C:\opencv\build\bin\Release ) को Windows PATH पर्यावरण चर में जोड़ने के लिए कहता है"। लेकिन ऊपर दिखाए गए अनुसार, मेरे पास पहले से ही मेरे पाथ में C:\lib\opencv\build\x64\vc11\bin बाइनरी फ़ोल्डर ( C:\lib\opencv\build\x64\vc11\bin ) है। और मेरी ओपनसीवी स्थापना में कोई रिलीज फ़ोल्डर्स नहीं है (बिल्ड / जावा के तहत खाली एक को छोड़कर)।

क्या गलत हो रहा है के बारे में कोई विचार? क्या मैं पाइथन को लोडिंग प्रक्रिया का पता लगाने के लिए कह सकता हूं? वास्तव में क्या डीएलएल की तलाश है?

धन्यवाद, लार्स

संपादित करें:

मैंने अभी देखा है कि, http://www.dependencywalker.com/ अनुसार, cv2.pyd में C:\lib\opencv\build\python\2.7 32-बिट है, जबकि मशीन और पायथन मैं चल रहा हूं 64-बिट हैं। क्या यह समस्या हो सकती है? और यदि हां, तो मुझे cv2.pyd का 64-बिट संस्करण कहां मिल सकता है?


यह एक बहुत ही सरल समाधान है। opencv जगह स्थापित करने के बाद

cv2.pyd से cv2.pyd C:\opencv\build\python\2.7\ **x64** C:\Python27\Lib\site-packages

इसके बजाय, C:\opencv\build\python\2.7\ **x86** से cv2.pyd C:\opencv\build\python\2.7\ **x86** C:\Python27\Lib\site-packages


सबसे पहले मैंने cv2.pyd को /opencv/build/python/2.7/x86 से C:/Python27/Lib/site-packeges cv2.pyd कॉपी किया। त्रुटि थी

"रनटाइम त्रुटि: एपीआई संस्करण 9 के खिलाफ संकलित मॉड्यूल लेकिन numpy का यह संस्करण 7 है"

फिर मैंने numpy-1.8.0-win32-superpack-python2.7.exe स्थापित किया और opencv ठीक काम करता है।

>>> import cv2
>>> print cv2.__version__
2.4.13

आप official या here साइटों से opencv स्थापित कर सकते हैं।

यदि आप Anaconda का उपयोग कर रहे हैं तो this प्रश्न और this समस्या का संदर्भ लें।


मेरे मामले में, मेरे पास 64 बिट पायथन है, और यह lxml था जो गलत संस्करण था - मुझे इसके x64 संस्करण का भी उपयोग करना चाहिए था। मैंने इसे lxml के 64-बिट संस्करण को डाउनलोड करके हल किया:

https://pypi.python.org/pypi/lxml/3.4.1

lxml-3.4.1.win-amd64-py2.7.exe

निराशाजनक मुद्दे का यह सबसे आसान जवाब था।


मैंने /x64 फ़ोल्डर से C:/Python27/Lib/site-packeges /opencv/build/python/2.7/x86 बजाय /opencv/build/python/2.7/x86 फ़ोल्डर से cv2.pyd फ़ाइल की प्रतिलिपि बनाई। मैंने here दिए गए निर्देशों का पालन किया।


मुझे भी यही समस्या थी। यहां मैंने जो किया है:

  1. मैंने यहां से pywin32 व्हील फ़ाइल डाउनलोड की here , फिर

  2. मैंने pywin32 मॉड्यूल को अनइंस्टॉल किया। कमांड प्रॉम्प्ट में निम्न आदेश निष्पादित करने के लिए अनइंस्टॉल करने के लिए।

    pip uninstall pywin32

  3. फिर, मैंने pywin32 को पुनर्स्थापित किया । इसे स्थापित करने के लिए, उसी निर्देशिका में कमांड प्रॉम्प्ट खोलें जहां pywin32 व्हील फ़ाइल निहित है। फिर निम्न आदेश निष्पादित करें।

    pip install <Name of the wheel file with extension> व्हील फ़ाइल इस तरह होगी: piwin32-XXX-cpXX-none-win32.whl

यह मेरे लिए समस्या हल करता है। आप इसे आज़मा सकते हैं। उम्मीद है कि यह आपके लिए भी काम करेगा।


कृपया जांचें कि आपके द्वारा उपयोग किए जाने वाले पायथन संस्करण 64 बिट भी हैं। यदि नहीं तो यह मुद्दा हो सकता है। आप 32 बिट पायथन संस्करण का उपयोग करेंगे और OPENCV लाइब्रेरी के लिए 64 बिट बाइनरी स्थापित करेंगे।


मेरे लिए समस्या यह थी कि मैं उसी ग्रहण परियोजना में पायथन के विभिन्न संस्करणों का उपयोग कर रहा था। मेरा सेटअप प्रोजेक्ट गुणों और रन कॉन्फ़िगरेशन पायथन संस्करणों के अनुरूप नहीं था।

प्रोजेक्ट> प्रॉपर्टीज> पायडेव में , मैंने इंटरप्रेटर को पायथन 2.7.11 पर सेट किया था।

रन कॉन्फ़िगरेशन> इंटरप्रेटर में , मैं डिफ़ॉल्ट इंटरप्रेटर का उपयोग कर रहा था। इसे पायथन 2.7.11 में बदलना समस्या को हल करता है।


  1. कृपया सुनिश्चित करें कि आपने Python 2.7.12 या नीचे संस्करण स्थापित किया है अन्यथा आपको यह त्रुटि निश्चित रूप से मिल जाएगी।
  2. यदि ओएस 64 बिट है तो सुनिश्चित करें कि ओरेकल क्लाइंट 64 बिट स्थापित है।
  3. सुनिश्चित करें कि पाइथन 2.7 के लिए माइक्रोसॉफ्ट विजुअल सी ++ कंपाइलर 64 बिट ओएस या 32 बिट के लिए 32 बिट के लिए बिट के लिए 64 है। नोट: - यदि आपका ओएस 64 बिट 64 बिट के सभी पैकेज को स्थापित करता है या यदि ओएस 32 बिट पैकेज 32 बिट इंस्टॉल करता है।

यदि आपका बिल्ड-सिस्टम (मेरे मामले में <name>.pyd ) फ़ाइल को <name>.dll से <name>.pyd , तो मूल फ़ाइल वास्तव में एक <name>.pyd आपको यह त्रुटि मिल जाएगी। मेरे मामले में, साझा पुस्तकालयों का निर्माण बंद हो गया, इसलिए अंतर्निहित फ़ाइल वास्तव में *.lib

मुझे http://www.dependencywalker.com/ pyd में pyd फ़ाइल लोड करके और यह पता चला कि यह मान्य नहीं है, इस त्रुटि को मैंने पाया।


मुझे समाधान मिला, शायद आप पहले स्केपर परीक्षण शुरू करने के लिए एनाकोंडा प्रॉम्प्ट विंडो की बजाय cmd विंडो का उपयोग करने का प्रयास कर सकते हैं।





path