我最近为这个项目安装了 pyusb,它试图写入USB LED 留言板并收到此错误:
AttributeError: 'module' object has no attribute 'backend'
我不知道这是为什么,我检查了 pyusb 模块文件,它显然有一个名为“backend”的文件夹,里面有正确的文件。
这是我的所有代码:
import usb.core
import usb.util
import sys
backend = usb.backend.libusb01.get_backend(find_library=lambda C: "Users\absolute\Desktop\libusb-win32-bin-1.2.6.0\lib\msvc_x64")
#LED Display Message device identify
MessageDevice = usb.core.find(idVendor=0x1D34, idProduct=0x0013, backend=backend)
if MessageDevice is None:
raise ValueError('LED Message Display Device could not be found.')
MessageDevice.set_configuration()
# get an endpoint instance
cfg = MessageDevice.get_active_configuration()
interface_number = cfg[(0,0)].bInterfaceNumber
print interface_number
alternate_settting = usb.control.get_interface(interface_number)
intf = usb.util.find_descriptor(
cfg, bInterfaceNumber = interface_number,
bAlternateSetting = alternate_setting
)
ep = usb.util.find_descriptor(
intf,
# match the first OUT endpoint
custom_match = \
lambda e: \
usb.util.endpoint_direction(e.bEndpointAddress) == \
usb.util.ENDPOINT_OUT
)
assert ep is not None
# write the data
ep.write('\x00\x06\xFE\xBA\xAF\xFF\xFF\xFF')
重点关注的代码:
backend = usb.backend.libusb01.get_backend(find_library=lambda C: "Users\absolute\Desktop\libusb-win32-bin-1.2.6.0\lib\msvc_x64")
另外我注意到在其他代码中人们根本没有后端。但是,当我尝试删除代码的后端部分时,它会显示:
MessageDevice = usb.core.find(idVendor=0x1D34, idProduct=0x0013)
File "C:\Python27\lib\site-packages\usb\core.py", line 846, in find
raise ValueError('No backend available')
ValueError: No backend available
一些额外的信息:
- 视窗 8 64 位
- 蟒蛇 2.7
- pyusb-1.0.0a2