Python вызывает ошибку AttributeError: модуль «enum» не имеет атрибута «intflag», когда в вашей системе установлен модуль «enum34», что конфликтует с классом перечисления по умолчанию.
Как это исправить?
Чтобы исправить ошибку AttributeError: модуль «enum» не имеет атрибута «intflag», ошибка «удаление модуля enum34» или «обновление до более новой версии Python».
Начиная с версии Python 3.6, библиотека enum34 не работает со стандартной библиотекой. Однако библиотека вам не нужна, поэтому вы можете ее удалить.
Чтобы удалить модуль enum, вы можете использовать команду ниже.
|
1 2 3 4 5 |
pip uninstall -y enum34 # OR python3 -m pip uninstall -y enum34 |
Если это решение вам не помогло, попробуйте решение ниже.
Атрибут «intflag» появился в Python 3.4, поэтому, если вы используете более раннюю версию, обновление до более новой версии, включающей этот атрибут, должно исправить ошибку.
Вы можете проверить модуль enum, распечатав свойство enum.__file__.
|
1 2 3 |
import enum print(enum.__file__) |
Выход
|
1 2 |
/opt/homebrew/Cellar/python@3.9/3.9.12/Frameworks/Python.framework/ Versions/3.9/lib/python3.9/enum.py |
Если ни одно из предложений не помогло, попробуйте отключить переменную среды PYTHONPATH.
|
1 |
unset PYTHONPATH |
Убедитесь, что в вашем проекте Python нет файла с именем enum.py, поскольку он переопределит встроенный модуль enum.
Вам придется переименовать или удалить файл, если он у вас есть.
В Python Enum — это класс, который позволяет создавать набор уникальных и постоянных значений.
