>  기사  >  백엔드 개발  >  Python에서 \"Bad Magic Number\" ImportError가 발생하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Python에서 \"Bad Magic Number\" ImportError가 발생하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-31 05:51:30887검색

Why Do I Get a

"Bad Magic Number" ImportError 이해

가져온 pyc 파일에 잘못된 pyc 파일이 포함된 경우 Python에서 "Bad Magic Number" ImportError가 발생합니다. UNIX 계열 시스템에서 파일 형식을 나타내는 마커인 매직 넘버입니다.

이 오류는 다음으로 인해 발생할 수 있습니다. 몇 가지 이유:

  • 잘못된 Python 버전에서 컴파일: 가져오는 데 사용한 버전과 다른 Python 버전을 사용하여 .py 파일을 .pyc 파일로 컴파일합니다.
  • 파일 조작: pyc 편집 또는 손상 파일.
  • 누락되었거나 호환되지 않는 라이브러리: 필수 라이브러리가 없거나 현재 Python 버전과 호환되지 않는 pyc 파일을 가져옵니다.

이 문제를 해결하려면 문제가 발생하면 다음 단계를 따르세요.

  1. 삭제 Pyc 파일: 가져온 모듈과 관련된 모든 .pyc 파일을 삭제합니다. 이렇게 하면 인터프리터가 가져올 때 .py 파일을 다시 컴파일하게 됩니다. UNIX 터미널에서 다음 명령을 사용할 수 있습니다.

    rm *.pyc
    find . -name '*.pyc' -delete
  2. 라이브러리 종속성 확인: 가져오려는 모듈에 필요한 모든 라이브러리가 Python 버전이 설치되어 있고 호환됩니다.
  3. 전체 스택 추적 검사: 문제가 있는 경우 간헐적으로 지속되는 경우 가져오기 오류가 발생하는 동안 전체 스택 추적을 주의 깊게 검사하세요. 특정 원인에 대한 통찰력을 얻을 수 있습니다.
  4. 매직 넘버 값: 다양한 Python 버전과 관련된 매직 넘버는 다음 표를 참조하세요.

    Python Version Magic Number
    1.5, 1.5.1, 1.5.2 20121
    1.6 50428
    2.0, 2.0.1 50823
    2.1, 2.1.1, 2.1.2 60202
    2.2 60717
    2.3a0 (various builds) 62011, 62021, 62041
    2.4a0 62051
    2.4a3 62061
    2.5a0 (various builds) 62071, 62081, 62091, 62092
    2.5b3 (various builds) 62101, 62111
    2.5c1 62121
    2.5c2 62131
    2.6a0 62151
    2.6a1 62161
    2.7a0 62171

잘못된 매직 넘버 오류와 그 원인을 이해하면 다음과 같은 경우에 이 문제를 효과적으로 해결하는 데 도움이 됩니다. 발생했습니다.

위 내용은 Python에서 \"Bad Magic Number\" ImportError가 발생하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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