如何从 multiprocessing.Pipe 继承?

我想围绕 Python 的multiprocessing.Pipe对象构建一个包装类。multiprocessing众所周知,从模块继承有其挑战(有关讨论 的继承的类似问题,请参见此处multiprocessing.Queue),并且我面临无法解决的错误。


让我们考虑一个简单的例子:


from multiprocessing import Pipe



class MyClass1: pass



class MyClass2(Pipe, MyClass1):

    pass

在这里,我们创建了一个MyClass2继承自 Pipe 类和自定义类的类MyClass1。运行以上将提高


TypeError: metaclass conflict: the metaclass of a derived class

 must be a (non-strict) subclass of the metaclasses of all its bases

我知道要解决这个错误,我可能不得不引入一个MyClass2可以继承的元类,但是当我尝试Pipe使用type(Pipe)I get确定对象的元类时,<class 'type'>这根本没有帮助。


我在上面链接的 Stack Overflow 问题提到本质上有一种特殊的方式来继承Queue. 也有特殊的方法Pipe吗?有关如何避免此错误的任何建议?


幕布斯6054654
浏览 140回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python