鱼C论坛

 找回密码
 立即注册
查看: 2252|回复: 14

[已解决]usb.core的问题

[复制链接]
回帖奖励 87 鱼币 回复本帖可获得 1 鱼币奖励! 每人限 1 次
发表于 2023-7-24 14:34:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
没打包成exe文件时候可以正常运行  但是打包后运行就会报错

代码 : dev = usb.core.find(idVendor=0x05ac, idProduct=0x4141)

报错内容 NoBaclemdError (“No backend avaiable”)

最佳答案
2023-7-24 14:35:18
这个问题是由于当您使用pyinstaller将您的代码打包成一个exe文件时,它可能不会包括usb.core依赖项需要的一些后端库。NoBackendError这个错误是usb.core抛出的,当它找不到任何可以使用的后端时,即没有找到与USB设备进行通信所需的库。

要解决这个问题,您需要确保打包进exe的程序中包含了所有的依赖库。这可以通过在你的.spec文件中指定的方式来做到。

假设您使用的后端库是libusb,你需要做以下步骤:

1. 找到libusb的.dll或.so文件。这取决于你的操作系统。
2. 在您的.spec文件中,确保将这些文件包含在了binaries中。

以下是一个示例:
# YourApp.spec
a = Analysis(['YourScript.py'],
             pathex=['/path/to/your/script'],
             binaries=[
                 ('/path/to/libusb-1.0.dll', '.'),  # 注意:适当修改此路径以指向libusb的.dll或.so文件
             ],
             datas=[],
             ...
             )

在上面的示例中,binaries是一个元组的列表,其中每个元组包含两个元素:文件的原始路径和打包到exe文件中的路径。将其设置为'.',即把库文件放在与exe文件相同的目录下。

最后,使用您修改后的.spec文件重新打包应用:
pyinstaller YourApp.spec

如果这样仍然无法解决问题,可能是因为你的程序在运行时需要写入库文件的目录。在这种情况下,你需要将库文件放在一个程序有写入权限的地方,或者为程序运行的用户添加写入库文件所在目录的权限。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-24 14:35:05 | 显示全部楼层

回帖奖励 +1 鱼币

对于你的问题,报错信息 "No backend available" 表示没有可用的后端来处理 USB 设备。这通常是由于打包成exe文件后缺少某些依赖库或运行环境所导致的。

在打包成exe文件之前,确保已经安装了 pyusb 库,并且正确配置了相关的驱动程序。由于不同的操作系统和设备可能需要不同的驱动程序,所以请确保你使用的操作系统上已经正确安装了适当的驱动程序。

此外,如果你使用的是第三方打包工具(如PyInstaller、cx_Freeze等),还需要确保将相关的依赖项包含在最终的可执行文件中。这可以通过在打包命令中添加相应的选项或配置文件来实现。

如果你仍然遇到问题,可以尝试以下方法:

1. 确认依赖项:在打包前,使用 pip 确认你的环境中是否已经安装了 pyusb 库,以及其他可能需要的库。确保它们都是最新版本。

2. 配置驱动:确保你的操作系统上已经正确安装了与 USB 设备通信所需的驱动程序。在某些情况下,需要手动安装驱动程序。

3. 考虑使用其他工具:如果以上步骤仍未解决问题,你可以考虑尝试其他打包工具或方法,以确保依赖项正确地打包到可执行文件中。

此外,建议你查阅相关的文档、论坛或Stack Overflow等资源来寻找有关使用 pyusb 库并打包相关问题的具体解决方案。这些资源可能会提供更详细和特定的信息,帮助你解决问题。

希望这些信息对你有所帮助。如果你还有其他编程方面的问题,请随时提问。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-24 14:35:18 | 显示全部楼层    本楼为最佳答案   

回帖奖励 +1 鱼币

这个问题是由于当您使用pyinstaller将您的代码打包成一个exe文件时,它可能不会包括usb.core依赖项需要的一些后端库。NoBackendError这个错误是usb.core抛出的,当它找不到任何可以使用的后端时,即没有找到与USB设备进行通信所需的库。

要解决这个问题,您需要确保打包进exe的程序中包含了所有的依赖库。这可以通过在你的.spec文件中指定的方式来做到。

假设您使用的后端库是libusb,你需要做以下步骤:

1. 找到libusb的.dll或.so文件。这取决于你的操作系统。
2. 在您的.spec文件中,确保将这些文件包含在了binaries中。

以下是一个示例:
# YourApp.spec
a = Analysis(['YourScript.py'],
             pathex=['/path/to/your/script'],
             binaries=[
                 ('/path/to/libusb-1.0.dll', '.'),  # 注意:适当修改此路径以指向libusb的.dll或.so文件
             ],
             datas=[],
             ...
             )

在上面的示例中,binaries是一个元组的列表,其中每个元组包含两个元素:文件的原始路径和打包到exe文件中的路径。将其设置为'.',即把库文件放在与exe文件相同的目录下。

最后,使用您修改后的.spec文件重新打包应用:
pyinstaller YourApp.spec

如果这样仍然无法解决问题,可能是因为你的程序在运行时需要写入库文件的目录。在这种情况下,你需要将库文件放在一个程序有写入权限的地方,或者为程序运行的用户添加写入库文件所在目录的权限。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-24 14:35:39 | 显示全部楼层
有没有大佬有解决办法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-24 14:39:36 | 显示全部楼层

回帖奖励 +1 鱼币

鱼币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-24 14:40:07 | 显示全部楼层

回帖奖励 +1 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-24 14:51:35 | 显示全部楼层

回帖奖励 +1 鱼币

没有,但是鱼币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-24 15:09:58 | 显示全部楼层

回帖奖励 +1 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-24 16:33:19 | 显示全部楼层

回帖奖励 +1 鱼币

鱼币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-24 16:34:28 | 显示全部楼层

回帖奖励 +1 鱼币

币!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-25 13:22:49 | 显示全部楼层

回帖奖励 +1 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-25 14:31:16 | 显示全部楼层

回帖奖励 +1 鱼币

鱼币如果领不完是可以重新编辑帖子取消回帖奖励自己领回去的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-25 22:54:18 | 显示全部楼层
yinda_peng 发表于 2023-7-25 14:31
鱼币如果领不完是可以重新编辑帖子取消回帖奖励自己领回去的

没事有的是鱼币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-25 23:12:47 | 显示全部楼层

回帖奖励 +1 鱼币

领币,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-26 09:20:10 | 显示全部楼层

回帖奖励 +1 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 09:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表