迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

python 错误 AttributeError: module 'enum' has no attribute 'IntFlag' 解决方法

作者:迹忆客 最近更新:2022/06/20 浏览次数:

要解决“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/jiyik/Desktop/jiyik_python/enum.py

# ✅ 如果导入了正确的模块,结果为
#  /usr/lib/python3.10/enum.py

如果没有任何建议有帮助,请尝试取消设置 PYTHONPATH 环境变量。

打开终端并运行以下命令。

$ unset PYTHONPATH

这有时会修复具有多个 Python 版本的机器上的故障。

除非注明转载,本站文章均为原创或翻译,欢迎转载,转载请以链接形式注明出处

本文地址:

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

热门文章

教程更新

热门标签

扫码一下
查看教程更方便