Связанный .lib-файл связан с .dll
У меня была такая же проблема. Скажем, у меня есть проекты MyProject и TestProject. Я эффективно связал файл lib для MyProject с TestProject. Однако этот файл lib был создан, так как была построена DLL для MyProject. Кроме того, я не содержал исходный код для всех методов в MyProject, но только доступ к точкам входа DLL.
Чтобы решить проблему, я построил MyProject как LIB и связал TestProject с этим .lib-файлом (скопируйте вложенный файл .lib в папку TestProject). Затем я смогу снова создать MyProject как DLL. Он компилируется, поскольку lib, с которым связан TestProject, содержит код для всех методов в классах MyProject.
Вы импортируете модуль, а не класс. Итак, вы должны написать: from serial import serial
Да, эта тема немного устарела, но я хотел поделиться решением, которое сработало для меня для тех, кому это может понадобиться.
Как сказал Али, попробуйте найти свою программу, используя следующее из терминала:
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
Tryhard
Эта ошибка может также произойти, если у вас есть круговые зависимости. Проверьте свой импорт и убедитесь, что у вас нет циклов.
Если вы беспомощны, как я, попробуйте это:
Список всех субмодулей «Serial» (или любой другой пакет, с которым вы столкнулись) с помощью метода, описанного здесь: Список всех модули, которые являются частью пакета python
В моем случае проблемы решаются один за другим.
... выглядит как ошибка для меня .. .
Эта проблема - beacouse, ваш proyect называется serial.py, а импортированная библиотека также является серийным номером, измените имя и все.
Вы установили неверный пакет с именем «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.
Я случайно установил «serial» (sudo python -m pip install serial
) вместо «pySerial» (sudo python -m pip install pyserial
), которые приводят к той же ошибке.
Если ранее упомянутые решения не сработали для вас, дважды проверьте, была ли установлена правильная библиотека.
Я добавляю это решение для людей, которые совершают ту же ошибку, что и я.
В большинстве случаев: переименуйте файл проекта «serial.py» и удалите serial.pyc, если он существует, тогда вы может выполнять простой «импортный серийный номер» без ошибки атрибута.
Проблема возникает, когда вы импортируете «что-то», когда ваше имя файла python «something.py».