Windows 7上的Pyusb无法找到任何设备
我安装了 Pyusb 1.0.0-alpha-1
在 Windows 系统下,我无法找到任何 USB 设备。
>>> import usb.core
>>> print usb.core.find()
None
我确实有一个 USB 设备插在电脑上(idVendor=0x04d8, idProduct=0x0042),我尝试使用 usb.core.find(idVendor=0x04d8, idProduct=0x0042)
来查找,但也失败了。
在 Ubuntu 系统下,使用相同版本的 pyusb 和 python(2.6),我可以成功找到我的设备,并与之进行通信。
那么,我该如何让 pyusb 在 Windows 7 上找到 USB 设备呢?
3 个回答
1
我在Windows 10上用Python 3.9时也遇到了同样的问题。根据PyUSB的安装说明,你需要手动在Windows上安装libusb。为此,我按照随Windows文件一起提供的README文件中的说明操作(也就是手动把libusb-1.0.dll
和libusb-1.0.dll.a
复制到C:\Windows\System32
文件夹里),现在PyUSB可以正常列出设备了。
import usb.core
import usb.util
list(usb.core.find(find_all=True))
4
Libusb这个工具需要你为每个想要使用的设备安装一个特别的驱动程序。通常,你需要写一个.inf文件,这个文件里要包含设备的USB ID。只有在驱动程序和.inf文件都安装好的情况下,libusb才能“看到”你的设备。
5
可以参考 Turbo J的回答。要为你的设备安装USB驱动程序 libusb
,我找到两种方法:
使用 libusb-win32 的
inf-wizard.exe
来创建一个INF文件,然后用install-filter-win.exe
来把libusb安装为你设备的驱动。使用 zadig(这个更简单)
- 如果没有设备显示,点击选项 > 列出所有设备
- 选择
libusb-win32
作为要安装的驱动