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

English Deutsch

Problem:

Sie versuchen, verfügbare Ressourcen mit PyVISA aufzulisten, z.B. mit

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

Aber wenn Sie versuchen, es auszuführen, sehen Sie eine Ausgabe wie

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
()

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:

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

Dies wird Folgendes ausgeben:

udev_usbusers_output.txt
SUBSYSTEM=="usb", MODE="0666", GROUP="usbusers"
USB-Gerätekonfiguration wurde installiert. Bitte abmelden und wieder anmelden oder neu starten

dann 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:

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

Check out similar posts by category: Electronics, Python