Installation
- Last Reviewed:
2023-08-10
Installation with PIP
Installation should be rather straight-forward. python-escpos is on PyPi, so you can simply enter:
pip install python-escpos[all]
This should install all necessary dependencies. Apart from that
python-escpos is for some versions also available as a Debian package.
If you want to always benefit from the newest stable releases you should
always install from PyPi.
If you use the --pre
parameter for pip
, you will get the latest
pre-release.
The following installation options exist:
all: install all packages available for this platform
usb: install packages required for USB printers
serial: install packages required for serial printers
win32: install packages required for win32 printing (only Windows)
cups: install packages required for CUPS printing
Other installation methods
Officially, no other installation methods are supplied.
If you want to install nevertheless from another source, please make sure that you have received the correct package and that the capabilities data is properly integrated. When packaging from source please read the developer information in Repository.
If your packaging method breaks the resource system from setuptools, it might be necessary to supply the path to the capabilities file: Advanced Usage: change capabilities-profile.
Setup udev for USB-Printers
Get the Product ID and Vendor ID from the lsusb command
# lsusb Bus 002 Device 001: ID 1a2b:1a2b Device name
. (Or whichever way your system supplies to get the PID and VID.)Create a udev rule to let users belonging to dialout group use the printer. You can create the file
/etc/udev/rules.d/99-escpos.rules
and add the following:SUBSYSTEM=="usb", ATTRS{idVendor}=="1a2b", ATTRS{idProduct}=="1a2b", MODE="0664", GROUP="dialout"
Replace idVendor and idProduct hex numbers with the ones that you got from the previous step. Note that you can either, add yourself to “dialout” group, or use another group you already belongs instead “dialout” and set it in theGROUP
parameter in the above rule.Restart udev
# sudo service udev restart
In some new systems it is done with# sudo udevadm control --reload
Enabling tab-completion in CLI
python-escpos has a CLI with tab-completion.
This is realized with argcomplete
.
In order for this to work you have to enable tab-completion, which is described in
the manual of argcomplete.
If you only want to enable it for python-escpos, or global activation does not work, try this:
eval "$(register-python-argcomplete python-escpos)"