В модуле python «serial» нет атрибута «Serial» [duplicate]

Связанный .lib-файл связан с .dll

У меня была такая же проблема. Скажем, у меня есть проекты MyProject и TestProject. Я эффективно связал файл lib для MyProject с TestProject. Однако этот файл lib был создан, так как была построена DLL для MyProject. Кроме того, я не содержал исходный код для всех методов в MyProject, но только доступ к точкам входа DLL.

Чтобы решить проблему, я построил MyProject как LIB и связал TestProject с этим .lib-файлом (скопируйте вложенный файл .lib в папку TestProject). Затем я смогу снова создать MyProject как DLL. Он компилируется, поскольку lib, с которым связан TestProject, содержит код для всех методов в классах MyProject.

86
задан hao_maike 12 August 2013 в 21:33
поделиться

8 ответов

Вы импортируете модуль, а не класс. Итак, вы должны написать: from serial import serial

63
ответ дан VGO 25 August 2018 в 20:40
поделиться

Да, эта тема немного устарела, но я хотел поделиться решением, которое сработало для меня для тех, кому это может понадобиться.

Как сказал Али, попробуйте найти свою программу, используя следующее из терминала:

 sudo python3
 import serial

print(serial.__file__) -> Копировать

CTRL+D #(to get out of python)

sudo python3 -> вставить /__init__.py

Активация __init__.py скажет вашей программе «ОК, я собираюсь использовать Serial из python3». Моя проблема заключалась в том, что моя программа python3 использовала Serial из python 2.7

Другое решение: удалить другие версии python

Cao

Источники: https: / /raspberrypi.stackexchange.com/questions/74742/python-serial-serial-module-not-found-error/85930#85930

Tryhard

0
ответ дан Benjamin 25 August 2018 в 20:40
поделиться

Эта ошибка может также произойти, если у вас есть круговые зависимости. Проверьте свой импорт и убедитесь, что у вас нет циклов.

1
ответ дан Chad Zawistowski 25 August 2018 в 20:40
поделиться

Если вы беспомощны, как я, попробуйте это:

Список всех субмодулей «Serial» (или любой другой пакет, с которым вы столкнулись) с помощью метода, описанного здесь: Список всех модули, которые являются частью пакета python

В моем случае проблемы решаются один за другим.

... выглядит как ошибка для меня .. .

2
ответ дан Community 25 August 2018 в 20:40
поделиться

Эта проблема - beacouse, ваш proyect называется serial.py, а импортированная библиотека также является серийным номером, измените имя и все.

1
ответ дан davidleosam 25 August 2018 в 20:40
поделиться

Вы установили неверный пакет с именем «serial», попробуйте запустить pip uninstall serial для python 2.x или pip3 uninstall serial для python 3.x, затем установите pyserial, если он еще не установлен, запустив pip install pyserial для python 2.x или pip3 install pyserial для python 3.x.

6
ответ дан J J 25 August 2018 в 20:40
поделиться

Я случайно установил «serial» (sudo python -m pip install serial) вместо «pySerial» (sudo python -m pip install pyserial), которые приводят к той же ошибке.

Если ранее упомянутые решения не сработали для вас, дважды проверьте, была ли установлена ​​правильная библиотека.

79
ответ дан Kevin 25 August 2018 в 20:40
поделиться

Я добавляю это решение для людей, которые совершают ту же ошибку, что и я.

В большинстве случаев: переименуйте файл проекта «serial.py» и удалите serial.pyc, если он существует, тогда вы может выполнять простой «импортный серийный номер» без ошибки атрибута.

Проблема возникает, когда вы импортируете «что-то», когда ваше имя файла python «something.py».

142
ответ дан sql 25 August 2018 в 20:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: