2012-12-08 57 views
20

मैं यूएसबी के माध्यम से एक एनएफसी डिवाइस के साथ अपना पायथन एप्लिकेशन इंटरफेस रखने की कोशिश कर रहा हूं। सबसे अच्छा विकल्प pyusb लगता है, लेकिन मैं libusb बैकएंड से कनेक्ट करने के लिए नहीं मिल सकता है। मैंविंडोज़ पर पायसब - कोई बैकएंड उपलब्ध नहीं है

ValueError: No backend available

मैं स्टैक ट्रेस देखा है मिल रही है, और पाया कि usb/backend/libusb10.py (जो pyusb का हिस्सा है) बैकएंड के रूप में उपयोग करने के लिए libusb-1.0.dll लोड करने की कोशिश कर रहा है, लेकिन यह यह नहीं मिल रहा। ऐसा नहीं है कि यह मेरे रास्ते में नहीं है, यह मेरे कंप्यूटर पर बिल्कुल नहीं है!

मैंने libusb-win32 (http://libusb.org/wiki/libusb-win32) स्थापित किया है, लेकिन परिणामी निर्देशिका में libusb0.dll शामिल है। Libusb-1.0.dll कहां है ???

मैं या तो जहां कि dll, या यहाँ तक कि एक अलग सुझाव प्राप्त करने के लिए विंडोज 7

उत्तर

6

पर काम करने की मैं एक ऐसी ही समस्या हाल ही में एक यूएसबी डिवाइस मैं विकसित कर रहा हूँ करने के लिए बात करने की कोशिश की थी pyusb प्राप्त करने के लिए पता करने के लिए प्यार होता है । मैंने libusb-1.0.dll की तलाश में वेब को खराब कर दिया और कोई भाग्य नहीं था। मुझे स्रोत कोड मिला, लेकिन कुछ भी नहीं बनाया गया और स्थापित करने के लिए तैयार है। मैं libusb-win32 बाइनरी स्थापित करना समाप्त कर दिया, जो libusb0.dll है।

पायसबी libusb-1.0, libusb0, और openUSB बैकएंड की खोज करेगा।

libusb0.dll पहले से ही मेरे सिस्टम पर था, लेकिन कुछ अभी भी सही नहीं स्थापित किया गया था, क्या पीयूयूएसबी काम नहीं कर रहा था।

मैंने फ़िल्टर ड्राइवर को स्थापित करने के लिए प्रदान किए गए GUI टूल का उपयोग करके ड्राइवर को डाउनलोड और स्थापित करने के लिए here निर्देशों का पालन किया, और आईएनएफ विज़ार्ड। ध्यान दें, जब तक मैं आईएनएफ विज़ार्ड नहीं चला जाता तब तक यह काम नहीं करता था।

मैं प्रोग्रामिंग के लिए काफी नया हूं और मुझे स्पष्ट रूप से निराशाजनक बनाने के लिए स्पष्ट दस्तावेज़ीकरण/उदाहरणों की कमी मिली है।

+0

हां, इन्फ-विज़ार्ड चलाएं और शुरू करने के लिए अपने डिवाइस का चयन करें। – jonincanada

+0

@jonincanada ऐसा लगता है कि मैंने गेटेट हाइड के समान समस्या में भाग लिया है। लेकिन अंतर यह है कि मैंने फ़ाइल को डाउनलोड और अनजिप किया है (libusb1.0.20), फिर एक डीएलएल फ़ाइल की प्रतिलिपि बनाई, विशेष रूप से (libusb-1.0.dll) और इसे सिस्टम 32 पर कॉपी किया; तो मैंने libusb-1.lib को python34/Lib पर कॉपी किया। और अभी भी 'कोई बैकएंड' त्रुटि नहीं है, तो क्या आप समस्या को हल करने में मेरी मदद कर सकते हैं? – Socre

4

मैं विंडोज एक्सपी सिस्टम पर पायथन 2.6.5, libusb-win32-device.bin-0.1.12.1 और pyusb-1.0.0-a0 का उपयोग कर रहा हूं और ValueError: No backend available प्राप्त कर रहा हूं।

चूंकि इस समस्या के लिए वेब पर कोई वास्तविक सहायता नहीं थी, इसलिए मुझे ctypes util.py लाइब्रेरी फ़ाइल खोजने के लिए Path चर का उपयोग करने में काफी समय लगता है। मेरा path में windows\system32 और PYUSB शामिल नहीं था पुस्तकालय नहीं मिला। मैंने path वैरिएबल अपडेट किया और अब यूएसबी काम कर रहा है।

+0

यह देखते हुए कि यह XP के बारे में है (और ओपी रे: विंडोज 7 पूछ रहा था) यह एक टिप्पणी के रूप में बेहतर हो सकता है। –

+0

मैंने वर्तमान फ़ोल्डर को 'पथ' में जोड़ा। – Liviu

+0

यह चाल है! System32 निर्देशिका में libusb-1.0.dll डालने की आवश्यकता है। सुनिश्चित करें कि यह आपके सिस्टम (32 बिट या 64 बिट) – user1495323

0

पीयूयूएसबी का उपयोग कर यूएसबी के माध्यम से अपने एनएफसी डिवाइस से कनेक्ट करने के लिए, आपको उस डिवाइस के लिए बैकएंड इंस्टॉल करना होगा। मुझे नहीं लगता कि libusb डिवाइस के अलावा किसी भी डिवाइस के लिए कोई बैकएंड है।

बैकएंड बनाने के लिए। आपको अपने डिवाइस के लिए ड्राइवर (.sys फ़ाइल) को जानने की आवश्यकता होगी, ताकि आप डिवाइस में कार्यक्षमताओं का पर्दाफाश करने के लिए एक रैपर डीएलएल लिख सकें। आपके डीएलएल को पीआईडी ​​& वीआईडी, डिवाइस खोलने के लिए एक और विधि और डेटा भेजने के लिए एक और तरीका और अन्य तरीकों के आधार पर डिवाइस खोजने के लिए एक तरीका होना चाहिए ...

1

"libusb API के दो संस्करण हैं: वर्तमान libusb-1.0 एपीआई, और इसकी विरासत पूर्ववर्ती libusb-0.1। " (http://www.libusb.org/) "libusb-win32 यूएसबी लाइब्रेरी libusb-0.1 का एक पोर्ट माइक्रोसॉफ्ट विंडोज ऑपरेटिंग सिस्टम में है"।same page (1.0.9 वर्तमान संस्करण है) से "नवीनतम रिलीज टैरबॉल डाउनलोड करें" libusb-1.0 समतुल्य होने के लिए, आपको Win32 फ़ोल्डर मिलेगा, जहां आपको अपने libusb-1.0.dll के साथ खेलने के लिए मिलेगा! आप इसे भी बना सकते हैं: http://www.libusb.org/wiki/windows_backend

संपादित आप इसे (/ http://sourceforge.net/projects/libusb/files/libusb-1.0/ से डाउनलोड) का निर्माण करने के बाद से टारबॉल 2012 से है, जबकि नवीनतम सूत्रों 2014-06-15 से हैं।

0

शायद ज़रुरत पड़े:

मैं विंडोज पर यह प्रयास नहीं किया है, लेकिन मैं Macintosh पर इस त्रुटि को नाकाम करने के DYLD_LIBRARY_PATH पथ सेट किया था। चाहे या नहीं इस चर सेट करने के लिए पर

export DYLD_LIBRARY_PATH=/opt/local/lib

चर्चा here है।

10

libusb-win32-devel-filter-1.2.6.0.exe डाउनलोड और स्थापित करें। यह काम करना चाहिए।

+0

के लिए धन्यवाद है इसके लिए धन्यवाद। मेरे क्रेज़ीफ्ली पर काम किया और मुझे 32-बिट कोंडा तक वापस जाने से बचाया। –