Python 错误 AttributeError: module ‘enum’ has no attribute ‘IntFlag’ 解决方法
要解决“AttributeError: module ‘enum’ has no attribute ‘IntFlag’”,需要在终端中运行 pip uninstall -y enum34
卸载 enum34 模块。 如果错误仍然存在,请确保我们的项目中没有 enum.py 文件。
首先要尝试卸载 enum34 模块,因为它可能会影响官方 enum 模块。
在项目的根目录中打开终端并运行以下命令。
$ pip uninstall -y enum34
现在尝试从 enum 模块导入和使用 Enum
类。
from enum import Enum
class Sizes(Enum):
SMALL = 'sm'
MEDIUM = 'md'
LARGE = 'lg'
print(Sizes.MEDIUM.name) # ?️ MEDIUM
print(Sizes.MEDIUM.value) # ?️ md
如果错误仍然存在,请确保您没有名为 enum.py 的本地文件,因为这会影响 enum 模块。
我们可以访问导入模块的 __file__
属性来查看它是否被本地文件隐藏。
import enum
print(enum.__file__)
# ⛔️ 被本地文件隐藏的结果
# /home/zadmei/Desktop/zadmei_python/enum.py
# ✅ 如果导入了正确的模块,结果为
# /usr/lib/python3.10/enum.py
如果没有任何建议有帮助,请尝试取消设置 PYTHONPATH
环境变量。
打开终端并运行以下命令。
$ unset PYTHONPATH
这有时会修复具有多个 Python 版本的机器上的故障。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。