J'ai installé la dernière version de pySerial sur ma machine Ubuntu avec Python 2.7.2, et cela fonctionne très bien dans la plupart des cas, mais chaque fois que j'essaie d'importer le paquet "tools", il est indiqué qu'il ne trouve pas "tools". La documentation de pySerial fait explicitement référence à ce paquet 'outils'.
>>> from serial import tools
Traceback (most recent call last):
File "<pyshell#30>", line 1, in <module>
import serial.tools
ImportError: No module named tools
et quand je:
>>> serial.VERSION
'2.5'
qui est la dernière version selon Source Forge
Alors pourquoi ne puis-je pas accéder au paquet «tools» de pySerial?
Utilisez pip
pour installer pyserial
. Première installation pip:
Sudo apt-get install python-pip
Après cette installation pyserial
:
Sudo pip install pyserial
Je suis arrivé ici parce que j'avais le même problème… .. Ce qui est étrange, c'est que
import serial
travaillé, mais
from serial.tools import list_ports
n'a pas.
Il s’est avéré que je m’étais nommé le script "serial.py". Après l'avoir renommé, tout a fonctionné.
Il semble que le paquet ubuntu ne corresponde pas tout à fait à l'amont. comparez le paquet pySerial officiel sur leur SVN:
http://pyserial.svn.sourceforge.net/viewvc/pyserial/trunk/pyserial/serial/
dans le paquet ubuntu dans le tableau de bord:
http://Bazaar.launchpad.net/~ubuntu-branches/ubuntu/raring/pyserial/raring/files/head:/serial/
Les outils y manquent aussi. On dirait qu'ils conservent le script miniterm.py
et l'installent ... quelque part; Je ne suis pas assez familiarisé avec deb packaging pour comprendre où.
Le fichier pyserial-2.4-py2.7.Egg du dossier site-packages était importé au lieu de série du dossier site-packages. Une fois que j'ai renommé ce fichier pour qu'il ne soit plus importé, il a bien fonctionné. Vous pouvez facilement résoudre ce problème en faisant
import serial
serial._ _path_ _
pour voir où la série est importée.
oui, utilisez python-pip install , puis , mettez à niveau , la version série sera 2.7
Juste au cas où cela ne fonctionnerait pas (comme cela m’est arrivé) sous Linux, vous pouvez vérifier si vous avez un paquet série dans /usr/lib/python2.7/dist-packages
, le nouveau numéro de série emballé par celui-ci passe à /usr/**local**/lib/python2.7/dist-packages/serial
pour une raison quelconque, celui dans usr/lib/python2.7/
a la priorité et les outils de module n'existent pas dans cette version de pyserial. Changer les noms ou supprimer le répertoire résout le problème.
Dans mon cas, j'ai installé serial
mais pas pyserial
après avoir obtenu l'erreur suivante.
ImportError: No module named 'serial'
Alors import serial
était ok, mais from serial import tools
ne pouvait pas fonctionner.
Juste Sudo pip uninstall serial
et Sudo pip install pyserial
J'espère aider les gens comme moi.