"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python에서 \"잘못된 매직 넘버\" ImportError가 발생하는 이유는 무엇입니까?

Python에서 \"잘못된 매직 넘버\" ImportError가 발생하는 이유는 무엇입니까?

2024-11-06에 게시됨
검색:412

 Why am I getting a \

Bad Magic Number: 가져오기 오류 이해

Python으로 작업할 때 "Bad Magic Number" ImportError가 발생하면 실망스러울 수 있습니다. 이 오류는 Python 스크립트의 컴파일된 버전인 pyc 파일이 손상되어 Python 인터프리터와 호환되지 않음을 나타냅니다.

매직 넘버 이해

UNIX의 경우 -type 시스템에서 파일은 파일 유형을 나타내는 매직 넘버(magic number)라고 알려진 특수 마커로 시작됩니다. Python은 생성 시 pyc 파일에 유사한 개념을 통합하여 로드 중 확인을 보장합니다.

오류 원인

"잘못된 매직 넘버" 오류는 매직이 발생할 때 발생합니다. pyc 파일의 번호가 손상되었습니다. 이는 다음으로 인해 발생할 수 있습니다:

  • pyc 파일을 직접 편집
  • 컴파일된 다른 Python 버전으로 pyc 파일 실행
  • 파일 손상 또는 시스템 오류

문제 해결

이 오류를 해결하려면 다음 단계를 따르세요.

  • rm을 사용하여 손상된 pyc 파일을 삭제합니다. *.pyc.
  • pyc 파일이 외부 모듈에 속하는 경우 개발자에게 py 파일에 대해 문의하고 다시 컴파일해야 합니다.

간헐적인 가져오기 문제

드물지만 간헐적으로 가져오기 오류가 발생할 수 있습니다. 이는 문제가 있는 pyc 파일이 특정 조건에서만 가져오기 때문일 수 있습니다. 자세한 내용은 오류가 발생할 때 전체 스택 추적을 검사하세요.

매직 넘버 값

pyc 파일의 첫 번째 단어는 매직 넘버를 나타냅니다. 해당 값은 Python 버전에 따라 다릅니다.

Python Version | Magic Number
--------------|----------------
2.5.1(r251)    | 62131
2.6.1(r261)    | 62161

매직 넘버 값의 전체 목록은 참고용으로 Python/import.c에서 찾을 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3