Python

bad magic number in 'application': b'\x03\xf3\r\n': ImportError

둔진 2020. 5. 19. 05:27

Bad magic은 WoW 흑마법사랑 관계없음

  자주 겪는 문제는 아니지만 종종 python에서 bad magic number in 'application': b'\x03\xf3\r\n': ImportError가 날 때가 있습니다. 이 에러는 python 2.x 대 버전으로 만들어진 *.pyc 파일을 python 3.x 대 버전으로 실행시키려고 할 때 발생합니다.

 

  1. "python main.py" 명령으로 main.py를 실행시킴. main.py는 다른 모듈들을 import 함.
  2. python 명령은 python 2.x 버전이고, 이 과정에에서 python 2.x 대에 맞는 *.pyc 파일들이 생성됨
  3. python 2.x가 아닌 python 3.x를 써야했다는 생각이 떠올라서 "python3 main.py" 명령으로 다시 main.py를 실행시킴
  4. bad magic number in 'application': b'\x03\xf3\r\n': ImportError 발생
  5. 원인은 python 3.x가 python 2.x의 *.pyc를 인식하지 못하기 때문

  해결 방법은 모든 *.pyc 파일들을 지우는 것입니다. 하나씩 지우기 힘들기 때문에 아래 명령으로 지워줍니다.

find . -name \*.pyc -delete