尽管安装了正确的依赖项,为什么 PyUSB 无法在 Windows 10 上运行?

Inv*_*sus 2 python windows python-3.x pyusb windows-10

我正在使用Python 3.8。

我发现 PyUSB 被建议作为一种选择;但是,我已经尝试过,但没有找到后端。包含的后端适用于 libusb0.1、libusb1.0 和 OpenUSB。

libusb0.1 是遗留的。

libusb1.0 是当前版本;但是,通过 pip 安装它并不能使 PyUSB 工作(它仍然找不到后端)。

OpenUSB 是 libusb1.0 的一个分支,专注于多线程支持,但没有 Windows 版本。

作为答案,我会接受一种让 PyUSB 与 libusb1.0 一起工作的方法;或在 Windows 上运行的不同 python 库。所需的最低功能是设备的枚举和迭代、通过 ID 获取特定设备、获取设备信息(特别是枚举列表中的 ID)、浏览设备的文件系统以及从设备的文件系统复制。

PyUSB,有或没有libusb1 (1.7.1)

import usb
devices = list(usb.core.find(find_all=True))
print(devices)

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Users\scott\.p2\pool\plugins\org.python.pydev.core_7.5.0.202001101138\pysrc\_pydev_bundle\pydev_umd.py", line 167, in runfile
    execfile(filename, namespace)
  File "C:\Users\scott\.p2\pool\plugins\org.python.pydev.core_7.5.0.202001101138\pysrc\_pydev_imps\_pydev_execfile.py", line 25, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "C:\Code\Py\Path\PhoneSync\phone_sync.py", line 12, in <module>
    devices = list(usb.core.find(find_all=True))
  File "C:\Users\scott\AppData\Local\Programs\Python\Python38\lib\site-packages\usb\core.py", line 1263, in find
    raise NoBackendError('No backend available')
usb.core.NoBackendError: No backend available
Run Code Online (Sandbox Code Playgroud)

小智 5

对我来说解决问题的是:

在这里下载libusb1.0.dll:libusb

对于我的 64 位系统,请转到下载文件夹内的 MinGW64/dll,然后将 libusb-1.0.dll 复制到 C:\Windows\System32