web-dev-qa-db-fra.com

pyserial: aucun module nommé outils

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?

25
charmoniumQ

Utilisez pip pour installer pyserial. Première installation pip:

Sudo apt-get install python-pip

Après cette installation pyserial:

Sudo pip install pyserial
24
user1881957

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é.

3
Thomas

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.

1
user5915698

oui, utilisez python-pip install , puis , mettez à niveau , la version série sera 2.7

0
chenhui

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.

0
Alejandro

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.

0
rocky