Windows 8.1 上的 Pyusb - 没有可用的后端 - 如何安装 libusb?

Posted

技术标签:

【中文标题】Windows 8.1 上的 Pyusb - 没有可用的后端 - 如何安装 libusb?【英文标题】:Pyusb on windows 8.1 - no backend available - how to install libusb? 【发布时间】:2016-03-02 12:39:07 【问题描述】:

使用 pyinstaller 3.1、python 2.7.9 和 tkinter。

尝试使用 pyusb 代替 pyserial,但没有可用的后端。查看Pyusb on windows - no backend available、PyUSB ValueError: No backend available、USB interface in Python等等,看来我需要安装libusb。但是当我在python下运行“import usb”和“import usb.core”时,没有错误。我不知道如何安装它以及如何在我的项目中使用它,如何告诉我的项目 libusb 在哪里。

我做了什么:

(1)下载libusb-win32-bin v1.2.6.0 (01/17/2012)

(2) x86\libusb0_x​​86.dll 重命名为 libusb0.dll

(3) 在 64 位上,将其放入 Windows\syswow64\libusb0.dll。 在 32 位上,安装到 Windows\system32\libusb0.dll。

还是不行……

顺便说一句,我想完成一个基于 python 的独立 Windows 应用程序。我不希望其他人安装 libusb 来运行我的应用程序。怎么办?

【问题讨论】:

【参考方案1】:

我从这里下载了最新的 libusb windows 二进制文件: http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.20/libusb-1.0.20.7z/download 然后我根据这个复制了libusb1.dll:当你在64位Windows上时, MS64\dll\libusb-1.0.dll 必须复制到 C:\Windows\System32 和 (用于运行使用 libusb 的 32 位应用程序) MS32\dll\libusb-1.0.dll 必须复制到 C:\Windows\SysWOW64。 然后我将 libusb1.lib 从二进制文件复制到 python 目录中的 lib dir,现在 pyusb 为我工作。希望能帮助到你。

【讨论】:

小修正。 libusb lib 文件位于 ..\libusb-1.0.20\MS64\static\libusb-1.0.lib for x64 您使用的是 32 位还是 64 位 python?有关系吗? 我使用的是 64 位。但我认为这不重要。如果你使用 32 位,请确保复制正确的文件。 它适用于 Win10 和 Python2.7(32 位)和 Python3.5(32 位)和 Python3.5(64 位) 在最后一部分使其准确:对于 x64 复制 .​​.\libusb-1.0.20\MS64\static\libusb-1.0.lib 到 C:\Users\\AppData\ Local\Programs\Python\Python36-32\libs 如果你在默认目录中安装了 Python

以上是关于Windows 8.1 上的 Pyusb - 没有可用的后端 - 如何安装 libusb?的主要内容,如果未能解决你的问题,请参考以下文章

Windows 7 上的 Pyusb 找不到任何设备

pyusb 2.7 windows安装错误

在 Windows 8.1 平板电脑上的 Web 应用程序中捕获图像

如何使用 pyusb 控制 Xbox 360 游戏手柄上的 LED

某些 Windows 8 和 8.1 上的 Unity3d 4.6 UI 图像错误

Windows Phone 8.1 上的 RadioButtons 绑定