How to fix PyVISA not finding any ASRL (serial port) instruments
Problem:
You are trying to connect to a USB instrument using PyVISA & pyvisa-py
, but the PyVISA resource manager doesn’t find any instruments:
#!/usr/bin/env python3
import visa
rm = visa.ResourceManager()
print(rm.list_resources()) # Prints "()" => No instruments found!
Solution
Install PySerial 3.0+:
First you need to remove the system package python3-serial
if installed. Example for Ubuntu/Debian:
sudo apt remove python3-serial
and also remove the pip serial
package if installed (we need to install pyserial
, not serial
!)
sudo pip3 uninstall serial
Then install pyserial
:
sudo pip3 install pyserial
You can check if PySerial is installed properly using
python3 -m visa info
It should show you
ASRL INSTR: Available via PySerial (3.4)
if pyserial is installed correctly!
***Note:***The commands above are for Python 3.x. In case you are still using Python 2.x use pip2
or pip
instead of pip3
and use python-serial
instead of python3-serial
as APT package name.