webentwicklung-frage-antwort-db.com.de

pyserial: Keine Modul namens tools

Ich habe das neueste pySerial auf meiner Ubuntu-Box mit Python 2.7.2 installiert, und es funktioniert für die meisten Dinge gut, aber wenn ich versuche, das "tools" -Paket zu importieren, werden "tools" nicht gefunden. Die Dokumentation für pySerial verweist explizit auf dieses 'tools' Paket.

>>> from serial import tools
Traceback (most recent call last):
  File "<pyshell#30>", line 1, in <module>
    import serial.tools
ImportError: No module named tools

und wenn ich:

>>> serial.VERSION
'2.5'

welches ist die neueste Version gemäß Source Forge

Warum kann ich nicht auf das Tools-Paket von pySerial zugreifen?

25
charmoniumQ

Verwenden Sie pip, um pyserial zu installieren. Zuerst installiere pip:

Sudo apt-get install python-pip

Danach pyserial installieren:

Sudo pip install pyserial
24
user1881957

Ich bin hierher gekommen, weil ich das gleiche Problem hatte ... Das seltsame Ding war das

import serial

gearbeitet, aber

from serial.tools import list_ports

nicht.

Es stellte sich als blöd heraus, dass ich das Skript "serial.py" nannte. Nach der Umbenennung funktionierte alles.

3
Thomas

Es sieht so aus, als ob das Ubuntu-Paket nicht ganz mit dem Upstream übereinstimmt. vergleiche das offizielle pySerial-Paket auf ihrer SVN:

http://pyserial.svn.sourceforge.net/viewvc/pyserial/trunk/pyserial/serial/

zum Ubuntu-Paket im Launchpad:

http://Bazaar.launchpad.net/~ubuntu-branches/ubuntu/raring/pyserial/raring/files/head:/serial/

Dort fehlt auch das Werkzeug. Es sieht so aus, als ob sie das miniterm.py-Skript behalten und es installieren ... irgendwo; Ich bin nicht vertraut mit deb-Verpackungen, um zu verstehen, wo.

Das pyserial-2.4-py2.7.Egg im Site-Packages-Ordner wurde anstelle von Serial im Site-Packages-Ordner importiert. Nachdem ich diese Datei umbenannt hatte, damit sie nicht mehr importiert wurde, funktionierte sie einwandfrei. Sie können dies leicht tun, indem Sie dies tun 

import serial
serial._ _path_ _

um zu sehen, woher die Seriennummer importiert wird.

1
user5915698

ja , benutze python-pip install , dann , upgrade , die Version von serial ist 2.7 ... es funktioniert

0
chenhui

Für den Fall, dass "pip install --upgrade" nicht funktioniert (wie mir das passiert ist), können Sie in Linux überprüfen, ob Sie ein serielles Paket in /usr/lib/python2.7/dist-packages haben geht zu /usr/**local**/lib/python2.7/dist-packages/serial, aus irgendeinem Grund hat der in usr/lib/python2.7/ Vorrang und die Modulwerkzeuge sind in dieser Version von pyserial nicht vorhanden. Wenn Sie Namen ändern oder das Verzeichnis löschen, lösen Sie das Problem.

0
Alejandro

In meinem Fall installierte ich serial, aber nicht pyserial, nachdem ich den folgenden Fehler erhalten hatte.

ImportError: No module named 'serial'

Dann war import serial in Ordnung, aber from serial import tools kann nicht funktionieren.

Nur Sudo pip uninstall serial und Sudo pip install pyserial

Hoffnung, Leuten wie mir zu helfen.

0
rocky