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 중국어 웹사이트의 기타 관련 기사를 참조하세요!