我使用一个Python应用程序来访问USB设备(pipsta打印机)并执行一个例程。它在容器外运行得很好,但是当它涉及到容器时,它返回如下错误:
(文件"usr/local/lib/python2.7/dist-packages/usb/backend/libusb .py",第386行,_check:抛出USBError(errmsg, ret)usb .core. userror: [Errno None] could 't opendir(): No such a file or directory)
在我的dockerfile中,我已经包含了所有与Python和USB相关的包,并且我还将相关文件移动到/etc/udev/rules.d
并重新启动udev
。
请确保:
- 遵循组装指令和https://bitbucket.org/ablesystems/pipsta/wiki/Pipsta%20First-Time%20Setup 的每一步
- 打印机已连接电源
- 打印机通过usb连接到覆盆子
- 打印机的led不闪烁(应该一直是绿色的) 安装了正确的usb库(或尝试安装不同版本的usb库)。你用的是什么版本?python:
- 打印机对操作系统可见吗?命令:
ls /dev/ap1400
print(usb.__version__)
,它对我来说很好版本1.0.0rc1
我知道这是一个老问题(我只是刚刚遇到它)。以下是对FAQ的释义。以下步骤应该有助于诊断问题。
- 下载最新的Pipsta示例。
- 解压zip文件的内容
- 将目录更改为提取文件的位置
- 将目录更改为
Examples
文件夹 - 在终端上执行命令
python verify_pipsta_install.py
。这将尝试并帮助诊断问题。
下面的代码将修复python usb库错误。
- 如果您的Pipsta打印机固件是V9.2.03,请使用fpu将固件升级到V9.2.08(两者都可以在比特桶的下载部分找到)。
- 安装最新版本的Pipsta示例(从bitbucket下载)
- 复制新的
pipsta/Examples/system_scripts/
到/etc/udev/rules.d/60-ablesystems-pyusb.rules
- 重启树莓派
如果仍然无法发现打印机,则-
下面的解决方法可能有效。1. 从USB端口拔下打印机1. 输入命令sudo lsusb
1. 重新连接打印机1. 输入命令sudo lsusb
如果打印机已经被Linux环境检测到,那么/dev/ap1400
或/dev/pipsta
应该存在于文件系统中。
Pipsta现在有Debian软件包来帮助安装。我对我的帐户有一个链接限制,但搜索pipsta-printer-utilities-1.1.1-Linux.deb
和pipsta-cups-driver-0.3.0-armhf.deb
以获取更多信息。