2014-10-06 32 views
0

我試圖用pyusb和pyusb-keyboard-a-like來接管條形碼掃描器。 我有一個運行win7的系統。我已經安裝了帶有libusb-win32過濾器和inf嚮導的usb驅動程序。 我的代碼看起來是這樣的:pyusb ValueError:沒有後端可用條形碼掃描器

from keyboard_alike import reader 


class BarCodeReader(reader.Reader): 

pass 


if __name__ == "__main__": 
    reader = BarCodeReader(0x0c2e, 0x0b41, 84, 6, should_reset=False) 
    reader.initialize() 
    print(reader.read().strip()) 
    reader.disconnect() 

,並給了我以下錯誤:

Traceback (most recent call last): 
    File "C:\Users\Alexander\Downloads\pyusb-keyboard-alike-master\pyusb-keyboard-alike-master\lindy_bar_code_scanner.py", line 14, in <module> 
reader.initialize() 
    File "C:\Users\Alexander\Downloads\pyusb-keyboard-alike-master\pyusb-keyboard-alike-master\keyboard_alike\reader.py", line 37, in initialize 
self._device = usb.core.find(idVendor=self.vendor_id, idProduct=self.product_id) 
    File "C:\Python27\lib\site-packages\usb\core.py", line 846, in find 
raise ValueError('No backend available') 
ValueError: No backend available 

我怎樣才能解決這個問題?

回答

0

你必須提供一個後端,即libusb實現,或者通過libusb-0.1,通過libusb-1.0openusb(所看到的文件夾中pyusb-<version>\usb\backend)。在你的情況下,因爲你使用了libusb-win32,所以它是libusb-0.1,因此python腳本必須能夠在庫路徑中找到libusb0.dll。我爲這個典型問題提供了一個解決方案:PyUSB ValueError: No backend available