Per Stenebo
2013-02-17 07:43:07
2023-10-04 07:53:15
Serial communication in Python
Internal links: | Seriell kommunikation | pymodbus |
pySerial site on github
readthedocs | pySerial tools |
pySerial | serial - TCP bridge |
Install pyserial
Install from default repositorys (might be older version):
sudo apt install python-serial 2022-02-04: Unavailable on raspberry pi
sudo apt install python3-serial
Check pyserial version:
python2 -c "import serial; print(serial.__version__)"
or python3 -c "import serial; print(serial.__version__)"
2017-10-27 on Raspbian, gave version 3.2.1.
2018-08-21 on Raspbian 9 (stretch), gave version 3.2.1
2019-06-29 on Ubuntu 16.04 gave version 3.4
Or, get the tools to use easy_install or pip, example for Ubuntu:
sudo apt install python-pip python3-pip
2018-08-21 on Raspbian 9 (stretch), pip -V or pip --version gave
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)
Install pyserial:
pip install --upgrade pyserial
2016-11-15 installed version 3.2.1 to: /usr/local/lib/python2.7/dist-packages
2017-10-10 installed version 3.4 to: /usr/local/lib/python2.7/dist-packages
2018-08-21 on Raspbian 9 (stretch), installed version 3.4.
Install pyserial for python 3:
python3 -m pip install pyserial
Check package
python2 -c "import imp as _; print(_.find_module('serial'))"
(None, '/usr/lib/python2.7/dist-packages/serial', ('', '', 5))
python2 -c "import serial as _; print(_.__file__)" /usr/lib/python2.7/dist-packages/serial/__init__.pyc
If installed via apt:
find /usr/lib/python2.7/dist-packages -iname '*serial*' /usr/lib/python2.7/dist-packages/pyserial-3.4.egg-info /usr/lib/python2.7/dist-packages/cryptography/hazmat/primitives/serialization /usr/lib/python2.7/dist-packages/serial /usr/lib/python2.7/dist-packages/serial/serialcli.py /usr/lib/python2.7/dist-packages/serial/serialjava.pyc /usr/lib/python2.7/dist-packages/serial/serialwin32.pyc /usr/lib/python2.7/dist-packages/serial/serialposix.pyc /usr/lib/python2.7/dist-packages/serial/serialposix.py /usr/lib/python2.7/dist-packages/serial/serialutil.py /usr/lib/python2.7/dist-packages/serial/serialutil.pyc /usr/lib/python2.7/dist-packages/serial/serialcli.pyc /usr/lib/python2.7/dist-packages/serial/serialjava.py /usr/lib/python2.7/dist-packages/serial/serialwin32.py
If installed via pip:
find /home/pi/.local/lib/python2.7/site-packages -iname '*serial*' /home/pi/.local/lib/python2.7/site-packages/serial /home/pi/.local/lib/python2.7/site-packages/serial/serialcli.pyc /home/pi/.local/lib/python2.7/site-packages/serial/serialwin32.py /home/pi/.local/lib/python2.7/site-packages/serial/serialutil.py /home/pi/.local/lib/python2.7/site-packages/serial/serialwin32.pyc /home/pi/.local/lib/python2.7/site-packages/serial/serialcli.py /home/pi/.local/lib/python2.7/site-packages/serial/serialjava.py /home/pi/.local/lib/python2.7/site-packages/serial/serialjava.pyc /home/pi/.local/lib/python2.7/site-packages/serial/serialutil.pyc /home/pi/.local/lib/python2.7/site-packages/serial/serialposix.pyc /home/pi/.local/lib/python2.7/site-packages/serial/serialposix.py /home/pi/.local/lib/python2.7/site-packages/pyserial-3.4.dist-info
Uninstall pyserial
sudo apt remove --purge python-serial
sudo pip uninstall pyserial