자주 겪는 문제는 아니지만 종종 python에서 bad magic number in 'application': b'\x03\xf3\r\n': ImportError가 날 때가 있습니다. 이 에러는 python 2.x 대 버전으로 만들어진 *.pyc 파일을 python 3.x 대 버전으로 실행시키려고 할 때 발생합니다.
- "python main.py" 명령으로 main.py를 실행시킴. main.py는 다른 모듈들을 import 함.
- python 명령은 python 2.x 버전이고, 이 과정에에서 python 2.x 대에 맞는 *.pyc 파일들이 생성됨
- python 2.x가 아닌 python 3.x를 써야했다는 생각이 떠올라서 "python3 main.py" 명령으로 다시 main.py를 실행시킴
- bad magic number in 'application': b'\x03\xf3\r\n': ImportError 발생
- 원인은 python 3.x가 python 2.x의 *.pyc를 인식하지 못하기 때문
해결 방법은 모든 *.pyc 파일들을 지우는 것입니다. 하나씩 지우기 힘들기 때문에 아래 명령으로 지워줍니다.
find . -name \*.pyc -delete
'Python' 카테고리의 다른 글
-m 실행 옵션과 __name__ (6) | 2020.05.28 |
---|---|
venv는 내부적으로 어떻게 작동할까? (2) | 2020.05.19 |
알쏭달쏭 Python import - sys.path (7) | 2020.05.15 |
함수의 인자를 특정 값으로 고정하기 - functools.partial (0) | 2020.05.12 |
함수 이름으로 함수 호출하기 (0) | 2020.05.05 |