如何修复 PyVISA 找不到任何 ASRL(串口)仪器

问题:

你正在尝试使用 PyVISApyvisa-py 连接到 USB 仪器,但 PyVISA 资源管理器找不到任何仪器:

pyvisa_list_resources.py
#!/usr/bin/env python3
import visa
rm = visa.ResourceManager()
print(rm.list_resources()) # 打印 "()" => 未找到仪器!

解决方案

安装 PySerial 3.0+:

首先你需要移除系统包 python3-serial(如果已安装)。Ubuntu/Debian 示例:

remove_python3_serial.sh
sudo apt remove python3-serial

并移除 pip serial 包(如果已安装)(我们需要安装 pyserial,而不是 serial!)

uninstall_serial.sh
pip uninstall serial

然后安装 pyserial

install_pyserial.sh
pip install -U pyserial

你可以使用以下命令检查 PySerial 是否正确安装

visa_info_check.sh
python3 -m visa info

它应该向你显示

visa_info_pyserial_output.txt
ASRL INSTR: Available via PySerial (3.4)

如果 pyserial 正确安装!

***注意:***上面的命令适用于 Python 3.x。如果你仍在使用 Python 2.x,使用 pip2 代替 pip,并使用 python-serial 代替 python3-serial 作为 APT 包名。


Check out similar posts by category: Electronics, Python