2017-10-07 80 views
0

我需要测试Epson POS打印机TM-U220PD。 我有它通过并行转换器连接到我的笔记本电脑。 这是完全安装,但是当我与Python escpos测试它显示我以下错误:Errrno 32管道错误,escpos python2

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python2.7/dist-packages/escpos/escpos.py", line 437, in text 
    self._raw(txt.encode()) 
    File "/usr/local/lib/python2.7/dist-packages/escpos/printer.py", line 85, in _raw 
    self.device.write(self.out_ep, msg, self.timeout) 
    File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 948, in write 
    self.__get_timeout(timeout) 
    File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 824, in bulk_write 
    timeout) 
    File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 920, in __write 
    _check(retval) 
    File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 595, in _check 
    raise USBError(_strerror(ret), ret, _libusb_errno[ret]) 
usb.core.USBError: [Errno 32] Pipe error 

这是用来测试的代码:

>>> from escpos.printer import Usb 
>>> p = Usb(0x067b, 0x2305) 
>>> p.open() 
>>> p.text() 

回答

0

这样的USB到并行转换器应该由你的系统安装到文件系统中(我认为你从一个* nix中判断你的踪迹)。 通常情况下这是类似/dev/usb/lp0

对于初次调试你可以尝试只是写这个“文件”:

echo "Test\n" > /dev/usb/lp0 

如果这个工程,你应该能够成功地与打印:

from escpos.printer import File 
p = File(devfile='/dev/usb/lp0') 
p.text("some text\n")