PyVISA beheben: 'Found a device whose serial number cannot be read. The partial VISA resource name is: USB0::[...]::[...]::???::0::INSTR'
Problem:
Sie versuchen, verfügbare Ressourcen mit PyVISA aufzulisten, z.B. mit
import visa
rm = visa.ResourceManager()
print(rm.list_resources())Aber wenn Sie versuchen, es auszuführen, sehen Sie eine Ausgabe wie
Found a device whose serial number cannot be read. The partial VISA resource name is: USB0::6833::3601::???::0::INSTR
()Lösung
Obwohl PyVISA das nicht explizit sagt, ist dies einfach das gewöhnliche Linux-USB-Berechtigungsproblem. Wir haben bereits eine generische Lösung in Linux: Alle USB-Berechtigungsprobleme ein für alle Mal beheben bereitgestellt.
Auszug aus diesem Beitrag (siehe dort für Details, warum es funktioniert):
Führen Sie dies in Ihrer bevorzugten Shell aus:
wget https://techoverflow.net/scripts/udev-install-usbusers.sh | sudo bash -s $USERDies wird Folgendes ausgeben:
SUBSYSTEM=="usb", MODE="0666", GROUP="usbusers"
USB-Gerätekonfiguration wurde installiert. Bitte abmelden und wieder anmelden oder neu startendann melden Sie sich ab und wieder an (oder schließen Sie Ihre SSH-Sitzung und melden Sie sich wieder an).
Falls dies nicht funktioniert, neu starten!
Danach sollte Ihr PyVISA-Skript wie vorgesehen funktionieren und z.B. Folgendes ausgeben:
('USB0::6833::3601::DL3A204800938::0::INSTR')