मेरे पास बहुत कुछ ऐसी स्थिति है जैसे कि ImportError: DLL लोड विफल:% 1 एक मान्य Win32 अनुप्रयोग नहीं है , लेकिन मेरे लिए कोई जवाब नहीं है।
मेरा पायथन कोड कहता है:
import cv2
लेकिन वह पंक्ति इस प्रश्न के शीर्षक में दिखाई गई त्रुटि को फेंक देती है।
मैंने C:\lib\opencvइस 64-बिट मशीन पर 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 पर समाधान : DLL लोड विफल रहा:% 1 एक वैध नहीं है Win32 एप्लिकेशन " C:\opencv\build\bin\Releaseविंडोज पैथ पर्यावरण चर के लिए नया ऑपनेंक बायनेरिज़ पथ ( ) " जोड़ने के लिए कहता है । लेकिन जैसा कि ऊपर दिखाया गया है, मेरे पास पहले से ही C:\lib\opencv\build\x64\vc11\binमेरे PATH में OpenCV बायनेरी फ़ोल्डर ( ) है। और मेरे OpenCV इंस्टॉलेशन में कोई रिलीज़ फ़ोल्डर नहीं है (केवल एक निर्माणाधीन / जावा के अलावा)।
क्या गलत हो रहा है के रूप में किसी भी विचार? क्या मैं लोडिंग प्रक्रिया को ट्रेस करने के लिए पायथन को बता सकता हूं? क्या वास्तव में DLL की तलाश है?
धन्यवाद, लार्स
संपादित करें:
मैंने अभी देखा कि, http://www.dependencywalker.com/ के अनुसार , cv2.pydइन C:\lib\opencv\build\python\2.7-बिट 32-बिट है, जबकि मशीन और पायथन मैं चल रहा हूँ 64-बिट हैं। क्या यह समस्या हो सकती है? और यदि हां, तो मुझे cv2.pyd का 64-बिट संस्करण कहां मिल सकता है?
PYTHONPATHउन प्रविष्टियों को शामिल करने के लिए इस्तेमाल किया गया था जो कि SimpleCV पुस्तकालय की स्थापना वहां छोड़ दी है। इसके बावजूद कि मैंने पहले से ही SimpleCV को अनइंस्टॉल कर दिया है, PYTHONPATHबहाल नहीं किया गया था और कुछ निर्देशिकाओं के लिए OpenCV के परस्पर विरोधी संस्करणों के साथ इशारा कर रहा था जो कि SimpleCV द्वारा स्थापित किए गए थे। समाधान: स्पष्ट PYTHONPATH।