python - पहल - है कुछ ऐसी ही बात जो चुप हूँ




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

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

मेरे पास 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-बिट संस्करण कहां मिल सकता है?


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

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


जब मैंने 32 बिट विंडोज इंस्टालर का उपयोग करके अपने सिस्टम पर पायथन के 2.7.x के एक अलग संस्करण को अनइंस्टॉल किया और पुनर्स्थापित किया तो मुझे एक ही समस्या का सामना करना पड़ा। मुझे अपने अधिकांश आयात विवरणों में एक ही त्रुटि मिली है। मैंने नए स्थापित पायथन को अनइंस्टॉल किया और 64 बिट विंडोज इंस्टालर डाउनलोड किया और फिर से पाइथन को दोबारा इंस्टॉल किया और यह काम किया। उम्मीद है कि यह आपकी मदद करता है।


मुझे बस यह समस्या थी, यह बदल गया क्योंकि यह ओपनसीवी फ़ाइल के x64 संस्करण का उपयोग कर रहा था। X86 कोशिश की और यह काम किया।


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


मेरे मामले में, मेरे पास 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 दिए गए निर्देशों का पालन किया।


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

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


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

import imp
imp.find_module("cv2")

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

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


सबसे पहले मैंने 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




path