>백엔드 개발 >파이썬 튜토리얼 >Python에서 \'잘못된 매직 넘버\' ImportError가 발생하는 이유는 무엇입니까?

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

Linda Hamilton
Linda Hamilton원래의
2024-10-29 07:29:30833검색

 Why am I getting a

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

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

Magic Number 이해

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

오류 원인

"Bad Magic Number" 오류는 매직이 실행될 때 발생합니다. 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에서 찾을 수 있습니다.

위 내용은 Python에서 \'잘못된 매직 넘버\' ImportError가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.