Windows 7上的Pyusb无法找到任何设备

7 投票
3 回答
12930 浏览
提问于 2025-04-16 14:09

我安装了 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.dlllibusb-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-win32inf-wizard.exe 来创建一个INF文件,然后用 install-filter-win.exe 来把libusb安装为你设备的驱动。

  • 使用 zadig(这个更简单)

    • 如果没有设备显示,点击选项 > 列出所有设备
    • 选择 libusb-win32 作为要安装的驱动

撰写回答