pyusb ValueError: бэкэнд сканер штрих-кода недоступен
Я пытаюсь захватить сканер штрих-кода, используя pyusb и pyusb-keyboard-a-like. У меня есть система под управлением win7. Я установил USB-драйверы с libusb-win32
оба фильтра и инф-мастера. мой код выглядит так:
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
как я могу решить эту ошибку?
1 ответ
Вы должны предоставить бэкэнд, а именно libusb
реализация, либо путем libusb-0.1
, от libusb-1.0
или openusb
(как видно в папке pyusb-<version>\usb\backend
). В вашем случае это libusb-0.1
так как вы использовали libusb-win32
следовательно, скрипт Python должен быть в состоянии найти libusb0.dll
в пути к библиотекам. Я предоставил решение этой типичной проблемы здесь: PyUSB ValueError: Бэкэнд недоступен.