我想圍繞 Python 的multiprocessing.Pipe對象構建一個包裝類。multiprocessing眾所周知,從模塊繼承有其挑戰(有關討論 的繼承的類似問題,請參見此處multiprocessing.Queue),并且我面臨無法解決的錯誤。讓我們考慮一個簡單的例子:from multiprocessing import Pipeclass MyClass1: passclass 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嗎?有關如何避免此錯誤的任何建議?
如何從 multiprocessing.Pipe 繼承?
幕布斯6054654
2021-10-10 14:05:10