Pyserial: нет модулей с именами инструментов - программирование
Подтвердить что ты не робот

Pyserial: нет модулей с именами инструментов

Я установил последнюю версию pySerial в своем ящике Ubuntu с помощью python 2.7.2, и он отлично работает для большинства вещей, но всякий раз, когда я пытаюсь импортировать пакет "tools", он говорит, что он не может найти "инструменты", Документация для pySerial явно ссылается на этот пакет инструментов.

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

и когда I:

>>> serial.VERSION
'2.5'

которая является последней версией в соответствии с Source Forge

Так почему я не могу попасть в пакет "tools" pySerial?

4b9b3361

Ответ 1

Используйте pip для установки pyserial. Первая установка:

sudo apt-get install python-pip

После этого установите pyserial:

sudo pip install pyserial

Ответ 2

Похоже, что пакет ubuntu не совсем соответствует вверху. сравните официальный пакет pySerial с их SVN:

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

в пакет ubuntu в панели запуска:

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

Там тоже отсутствуют инструменты. Кажется, они сохраняют miniterm.py script и устанавливают его... где-то; Я не разбираюсь в deb deb, чтобы понять, где.

Ответ 3

Я пришел сюда, потому что у меня была такая же проблема. Странно, что

import serial

работал, но

from serial.tools import list_ports

не стал.

Оказывает глупое имя по имени script "serial.py". После переименования все сработало.

Ответ 4

pyserial-2.4-py2.7.egg в папке site-packages импортировался, а не из серийного файла в папке site-packages. Как только я переименовал этот файл, чтобы он больше не импортировался из него, он работал нормально. Вы можете легко отладить это, выполнив

import serial
serial._ _path_ _

чтобы узнать, откуда импортируется serial.

Ответ 5

да, используйте python-pip install,, then,, upgrade,, версия serial будет 2.7... она работает

Ответ 6

На всякий случай, если "pip install -upgrade" не работает (как это случилось со мной), в Linux вы можете проверить, есть ли у вас серийный пакет в /usr/lib/python2.7/dist-packages, новый серийный пакет - тот, install идет в /usr/**local**/lib/python2.7/dist-packages/serial, по какой-то причине приоритет имеет тот, что находится в usr/lib/python2.7/, а инструменты модуля не существуют в этой версии pyserial. Изменение имен или удаление каталога решают проблему.

Ответ 7

Вы должны вызвать функции модуля следующим образом:

from serials import tools

Например: если я хочу вызвать функцию sqrt из модуля math, я бы сделал:

from math import sqrt

import math.sqrt **is wrong.**