如何修复 PyVISA 'Found a device whose serial number cannot be read. The partial VISA resource name is: USB0::[...]::[...]::???::0::INSTR'

问题:

你正在尝试使用 PyVISA 列出可用资源,例如使用

pyvisa_partial_visa_resource_example.py
import visa
rm = visa.ResourceManager()
print(rm.list_resources())

但当你尝试运行它时,你看到类似这样的输出

pyvisa_partial_resource_output.txt
Found a device whose serial number cannot be read. The partial VISA resource name is: USB0::6833::3601::???::0::INSTR
()

解决方案

虽然 PyVISA 没有确切告诉你,但这只是标准的 Linux USB 权限问题。我们已经在如何一劳永逸地修复 Linux 上的所有 USB 权限问题中提供了通用解决方案。

此文章的摘录(有关其为何有效的详细信息请参见那里):

在你喜欢的 shell 中运行此命令:

install_usbusers_pyvisa.sh
wget https://techoverflow.net/scripts/udev-install-usbusers.sh | sudo bash -s $USER

这将打印:

udev_usbusers_output.txt
SUBSYSTEM=="usb", MODE="0666", GROUP="usbusers"
USB 设备配置已安装。请注销并重新登录或重启

然后注销并重新登录(或关闭你的 SSH 会话并重新登录)。

如果这不起作用,重启

之后,你的 PyVISA 脚本应该按预期工作并应该打印例如

pyvisa_resource_output.py
('USB0::6833::3601::DL3A204800938::0::INSTR')

Check out similar posts by category: Electronics, Python