Auf meinem Raspberry Pi habe ich libusb
und pyusb
via installiert sudo apt-get install libusb-dev python-usb
.
Das Ausführen von Python-Code ( pyrow , um Daten von einem Rudergerät zu lesen) führt jedoch zu folgendem Fehler import usb.core
:
ImportError: Kein Modul mit dem Namen core
Dieser Fehler deutet darauf hin, dass ich nicht pyusb
richtig installiert habe , also habe ich es erneut manuell gemacht (Herunterladen und Ausführen sudo python setup.py install
), aber dies hat es nicht behoben.
Ich denke, das Problem hat möglicherweise etwas mit dem Verzeichnis zu tun /usr/local/lib/python2.7/dist-packages/usb
: Auf meinem Ubuntu-Laptop existiert dieser Ordner und enthält (unter anderem) core.py
, aber der Ordner auf dem Raspberry Pi scheint nicht zu existieren. ls
im übergeordneten Verzeichnis wird der Ordner aufgelistet, aber das Mounten daran funktioniert nicht ...
Wie behebe ich dieses Problem? Muss ich auf dem Raspberry Pi eine bestimmte Version von Pyusb verwenden?
- Hardware: Raspberry Pi Modell B.
- Betriebssystem: Raspbian Wheezy (Build 09.02.2013)
pyusb
Sie zuvor installiert haben. Während es für das Paket, mit dem Sie installiert habenapt-get
, einfach ist , kann es für das manuell installierte Paket schwieriger sein.pyusb
Bibliothek gibt es in zwei Versionen:Die Debian-Distribution enthält nur die
stable
Version, die Sie mit demapt-get
Befehl installiert haben .Jetzt
pyrow
wird versucht zu importieren,usb.core
die nur in der1.0.x
Version der Bibliothek vorhanden sind. Und tatsächlich gibt diepyrow's
Website an, dass sie die 1.0-Version von pyusb benötigt. Deshalb haben Sie die Probleme.Für die Verwendung
pyrow
benötigen Siepyusb
1.0.x, das in Debian nicht verfügbar ist, sodass Sie es nicht mit apt-get installieren können. Die einfachste Lösung für dieses Problem ist das, was @Stevelrwin vorgeschlagen hat - mitpip install
wird der 1.0.x-Zweig von pyusb installiert. Möglicherweise möchten Sie verwenden,virtualenv
wenn Sie Ihr System nicht mit einigen Bibliotheken verschmutzen möchten, die nicht aus Debian-Paketen stammen.quelle
Versuchen Sie dies, dies funktionierte für mich auf einem Raspberry PI 3b + für Python 3.5.3
Nach dem Ausführen funktionierte der Code-Import usb.core
(Raspberry PI 3b + - Python 3.5.3 - 2019)
quelle
Eureka! Ich habe das Problem auf Raspberry Pi gelöst, auf dem beide Python-Versionen 2.7 und 3.4.2 installiert sind.
Schritt 1: Kopieren Sie die Python-USB-Bibliotheken von Version 2.7 auf Version 3.4.
Es gab zwei Ordner in /usr/local/lib/python/2.7/dist-packages/
pyusb-1.0.0.egg-info und
USB
Diese wurden in /usr/local/lib/python/3.4/dist-packages/ kopiert.
Schritt 2: Verwenden Sie easy_install, um die Python-Version 3.4 für das Python-Installationstool "pip" zu identifizieren: sudo easy_install-3.4 pip
Schritt 3: Installieren Sie die Pyusb-Bibliothek in der Befehlszeile von Python Version 3.4: sudo pip3.4 Installieren Sie Pyusb
Jetzt sollte die Pyusb-Bibliothek in Python Version 3.4 anstelle (oder zusätzlich zu) der Standardversion (Version 2.7) installiert werden
quelle
Ich habe das gleiche Problem.
Ich habe die Ursache zumindest auf meiner Maschine mit einer Geldstrafe belegt:
Raspberry pi wird mit zwei Installationen von Python geliefert: 2.x und 3.x, aber das Installationsskript von pyusb installiert die Software standardmäßig auf Version 2.x.
Wenn wir also versuchen, es in Version 3.x zu verwenden, tritt automatisch der Fehler "ImportError: kein Modul mit dem Namen core" auf.
Ich habe momentan keine Lösung, denke aber, dass es nicht zu kompliziert sein sollte, sie zu finden.
quelle