>  기사  >  백엔드 개발  >  Python 3.6.1에서 \"AttributeError: module \'enum\' has no attribute \'IntFlag\'\"가 발생하는 이유는 무엇입니까?

Python 3.6.1에서 \"AttributeError: module \'enum\' has no attribute \'IntFlag\'\"가 발생하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-04 19:18:02234검색

Why Does Python 3.6.1 Throw an

Python 3.6.1이 AttributeError를 트리거하는 이유: 모듈 'enum'에 'IntFlag' 속성이 없습니다

Python 3.6.1을 실행하려고 할 때, 다음과 같은 모호한 오류가 나타날 수 있습니다. "AttributeError: 'enum' 모듈에 'IntFlag' 속성이 없습니다." 이러한 당혹감은 'IntFlag' 클래스가 enum.py 모듈의 알려진 부분이라는 사실에도 불구하고 발생합니다.

이 수수께끼를 풀기 위해 우리는 문제의 근본 원인인 표준 라이브러리 간의 충돌을 조사합니다. 모듈 enum 및 enum34라는 타사 패키지. Python 환경에 enum34가 있으면 표준 라이브러리 enum 모듈로 오해되어 혼란을 일으킬 수 있습니다.

이 가능성을 확인하려면 'enum.__file__' 속성을 면밀히 조사하는 것이 좋습니다. 표준 라이브러리 열거형 모듈의 위치는 "/usr/local/lib/python3.6/enum.py"와 유사해야 합니다. 다른 곳을 가리키는 경우 이는 외부 모듈이 사용 중임을 나타냅니다.

충돌을 해결하려면 enum34 패키지를 제거하면 됩니다.

pip uninstall -y enum34

코드에 Python 버전과 그 이하 버전 간 호환성이 필요한 경우 3.4 이상 3.4보다 큰 경우 enum-compat를 요구 사항으로 활용하는 것이 좋습니다. 이 패키지를 사용하면 표준 라이브러리 enum 모듈이 없는 이전 Python 버전에만 enum34가 설치됩니다.

위 내용은 Python 3.6.1에서 \"AttributeError: module \'enum\' has no attribute \'IntFlag\'\"가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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