如何修复 Python Enum - AttributeError(name) from None 错误?

How to fix Python Enum - AttributeError(name) from None error?

尝试在 Python 3.7.3 中使用枚举,出现以下错误。已经尝试安装和卸载 enum34,但它仍然不起作用。是否在虚拟环境中进行了所有操作(如错误所示)。

我还能做些什么来解决这个问题(除了使用另一个枚举实现,如 this question 所示)?

#enum import:
from enum import Enum

# enum definition:
class Status(Enum):
    on: 1
    off: 2

# enum utilisation (another class, same file):
self.status = Status.off

# error:
File "C:\dev\python\test\venv\lib\enum.py", line 349, in __getattr__
AttributeError(name) from None
AttributeError: off

定义枚举的正确语法是:

class Status(Enum):
    on = 1
    off = 2

不是on: 1

在您的定义中,使用 = 为属性赋值,而不是 :

# enum definition:
class Status(Enum):
    on = 1
    off = 2