我需要根据某些条件创建一个使用不同基类的类。在某些课程中,我得到了臭名昭著的:
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
一个示例是 sqlite3
,这是一个您甚至可以在解释器中使用的简短示例:
>>> import sqlite3
>>> x = type('x', (sqlite3,), {})
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
原文由 Yves Dorfsman 发布,翻译遵循 CC BY-SA 4.0 许可协议
不用jdi提到的recipe,直接用: