How to fix Python enum 'TypeError: Error when calling the metaclass bases: module.__init__() takes at most 2 arguments (3 given)'
Problem:
You want to inherit a Python class
from enum
like this:
import enum
class MyEnum(enum):
X = 1
Y = 2class
but when you try to run it, you see an error message like this:
Traceback (most recent call last):
File "test.py", line 3, in <module>
class MyEnum(enum):
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)
Solution
You are not trying to inherit from the Enum
class (capital E!) but from the enum
module!
This is the correct syntax:
from enum import Enum
class MyEnum(Enum):
X = 1
Y = 2