Я пытаюсь унаследовать класс от visual.DotStim как этоошибка метаклассом при наследовании от psychopy.visual.DotStim
class JitterDots(visual.DotStim):
...
Я всегда получаю позорную ошибку метакласса:
TypeError: Error when calling the metaclass bases metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
I понимаете, вы можете это исправить, объединив метаклассы базовых классов, но я не вижу, где DotStim или его базы используют какие-либо метаклассы, поэтому я действительно смущен этим.
Любые предложения?
Это является следствием относительно нового ленивого импорта визуальных модулей (импорт при первом использовании, а не при визуальном импортировании) , Это позволяет в большинстве случаев ускорить работу в большинстве случаев. – jrgray
Итак, недостающие вызовы 'super()' в некоторых базах не считаются ошибкой, но были упущены намеренно? Или вы ссылались на мой предложенный примерный код и его отношение только к проблеме Геррита? – hoechenberger
Я думаю, что недостающие вызовы super() должны быть исправлены, что не было преднамеренным. Но я думаю, что проблема Геррита связана с новым использованием ленивого импорта. Когда визуал импортируется, DotStim автоматически не импортируется в его пространство имен. Его только импортируется там, когда он используется. – jrgray