Python AttributeError: 'module' 개체에 'Serial' 특성이 없습니다.
데비안을 실행하는 라즈베리 파이에서 파이썬 2.6으로 직렬 포트에 액세스하려고 합니다.내 대본 이름은serial.py
pySerial을 가져오려고 합니다.
import serial
ser = serial.Serial('/dev/ttyAMA0', 9600)
ser.write("hello world!")
어떤 이유로 인해 다음 오류와 함께 직렬 연결을 설정하지 않습니다.
AttributeError: 'module' object has no attribute 'Serial'
대화형 파이썬 인터프리터에 동일한 코드를 입력하려고 해도 여전히 작동하지 않습니다.
이상하게도, 그것은 몇 시간 전에 작동했습니다.
무엇이 문제일까요?pySerial을 다시 설치하고, 코드를 다시 작성하고, 직렬 포트를 다시 확인하는 등 한동안 이 문제를 해결하려고 노력했습니다.
저와 같은 실수를 하는 사람들을 위해 이 솔루션을 추가합니다.
대부분의 경우: 프로젝트 파일 이름 변경serial.py
삭제serial.pyc
만약 존재한다면, 당신은 간단히 할 수 있습니다.import serial
속성 오류 없이.
파이썬 파일 이름이 'something.py '일 때 'something'을 가져올 때 문제가 발생합니다.
실수로 'serial'을 설치했습니다 (sudo python -m pip install serial
) 'pySerial'(sudo python -m pip install pyserial
), 이는 동일한 오류로 이어집니다.
앞에서 언급한 솔루션이 제대로 작동하지 않는 경우 올바른 라이브러리를 설치했는지 다시 확인합니다.
클래스가 아니라 모듈을 가져오는 것입니다.따라서 다음과 같이 기록해야 합니다.
from serial import Serial
설치해야 합니다.serial
올바른 모듈:pip install pyserial
.
'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 python3
import serial
print(serial.__file__)
--> 복사
CTRL+D #(to get out of python)
sudo python3
-->세부사항/__init__.py
중입니다.__init__.py
ok i will be use serial from python3"라는 제목의 ok i'll be use serial from python3.는 제 python2이었습니다.
다른 솔루션: 다른 python 버전
조
출처: https://raspberrypi.stackexchange.com/questions/74742/python-serial-serial-module-not-found-error/85930#85930
열심히 해봐요
언급URL : https://stackoverflow.com/questions/11403932/python-attributeerror-module-object-has-no-attribute-serial
'programing' 카테고리의 다른 글
클라이언트의 NLS_LANG를 확인하려면 어떻게 해야 합니까? (0) | 2023.06.25 |
---|---|
엑셀 시트 내의 지정된 범위에서 SQL 문을 실행하려면 어떻게 해야 합니까? (0) | 2023.06.25 |
Spring-Boot Jersey: Jersey가 정적 콘텐츠를 제공하도록 허용 (0) | 2023.06.25 |
설치 폴더에 대한 MariaDB를 쿼리하시겠습니까? (0) | 2023.06.25 |
공백 충돌 없이 병합 (0) | 2023.06.25 |