developer tip

Python AttributeError : 'module'객체에 'Serial'속성이 없습니다.

optionbox 2020. 8. 2. 18:23
반응형

Python AttributeError : 'module'객체에 'Serial'속성이 없습니다.


데비안을 실행하는 Raspberry Pi에서 Python 2.6으로 직렬 포트에 액세스하려고합니다. 내 스크립트 serial.py는 pySerial을 가져 오려고 시도합니다.

import serial
ser = serial.Serial('/dev/ttyAMA0', 9600)
ser.write("hello world!")

어떤 이유로 든이 오류로 직렬 연결을 설정하지 않습니다.

AttributeError: 'module' object has no attribute 'Serial'

대화 형 Python 인터프리터에 동일한 코드를 입력하려고해도 여전히 작동하지 않습니다.

이상하게도, 그것은 약 2 시간 전에 일했었습니다.

무엇이 문제 일 수 있습니까? pySerial을 다시 설치하고 코드를 다시 작성하고 직렬 포트를 다시 확인하는 등 잠시 동안이 문제를 해결하려고했습니다.

미리 감사드립니다!


클래스가 아닌 모듈을 가져오고 있습니다. 따라서 다음과 같이 작성해야합니다.

from serial import Serial

serial모듈을 올바르게 설치해야합니다 pip install pyserial..


내가했던 것과 같은 실수를하는 사람들을 위해이 솔루션을 추가하고 있습니다.

대부분의 경우 : 프로젝트 파일의 이름을 'serial.py'로 바꾸고 serial.pyc를 삭제하면 속성 오류없이 간단한 'import serial'을 수행 할 수 있습니다.

파이썬 파일 이름이 'something.py'인 경우 'something'을 가져올 때 문제가 발생합니다.


실수로 sudo python -m pip install serial'pySerial'( sudo python -m pip install pyserial) 대신 'serial'( )을 설치 했는데 같은 오류가 발생했습니다.

이전에 언급 한 솔루션이 작동하지 않으면 올바른 라이브러리를 설치했는지 다시 확인하십시오.


' serial ' 이라는 잘못된 패키지를 설치했습니다 .

  • 실행 pip uninstall serial파이썬 2.x에서 또는 pip3 uninstall serial파이썬 3.x를위한
  • 그런 다음 python 2.x 또는 python 3.x를 실행 하여 pyserial을 아직 설치하지 않은 경우 설치 하십시오 .pip install pyserialpip3 install pyserial

당신이 나처럼 무력하다면, 이것을 시도하십시오 :

여기에 설명 된 방법으로 "직렬"의 모든 하위 모듈 (또는 문제가있는 패키지)을 나열 하십시오. python 패키지의 일부인 모든 모듈을 나열 하십시오.

제 경우에는 문제가 차례로 해결되었습니다.

... 나에게 벌레처럼 보인다 ...


이 문제는 proyect의 이름이 serial.py이고 가져온 라이브러리의 이름도 serial이므로 이름을 변경하십시오.


순환 종속성이있는 경우에도이 오류가 발생할 수 있습니다. 수입품을 점검하고주기가 없는지 확인하십시오.


예,이 주제는 약간 낡았지만 어쨌든 필요할 수있는 사람들을 위해 일한 솔루션을 공유하고 싶었습니다.

알리가 말했듯이 터미널에서 다음을 사용하여 프로그램을 찾으십시오.

 sudo python3
 import serial

print(serial.__file__) -> 복사

CTRL+D #(to get out of python)

sudo python3-> 붙여 넣기/__init__.py

활성화 __init__.py하면 프로그램에 "OKthon3의 Serial을 사용하겠습니다"라고 표시됩니다. 내 문제는 python3 프로그램이 Python 2.7의 Serial을 사용하고 있다는 것입니다

다른 솔루션 : 다른 파이썬 버전 제거

카오

출처 : 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

반응형