ошибка метакласса при наследовании от psychopy.visual.DotStim

Я пытаюсь наследовать класс из visual.DotStim, как это

class JitterDots(visual.DotStim):
...

Я всегда получаю печально известную ошибку метакласса:

TypeError: ошибка при вызове метакласса метакласса: метаклас производного класса должен быть (нестрогим) подклассом метаклассов всех его оснований

Я понимаю, что вы можете исправить это, объединив метаклассы базовых классов, но я не вижу, где DotStim или его базы используют какие-либо метаклассы, поэтому я действительно смущен этим.

Какие-либо предложения?

+1
источник поделиться
1 ответ

Кажется, это работает для меня:

from psychopy.visual import dot

class JitterDots(dot.DotStim):
    pass

Не связанный с вашим непосредственным вопросом, но все же возможный ловушка: я также заметил, что некоторые из оснований/родителей DotStim наследуют непосредственно от object, но никогда не инициализируют их родителя через super() - хотя super() вызывается в DotStim.__init__(). Однако "это приведет к тому, что другие методы класса __init__ не будут вызваны", согласно https://fuhm.net/super-harmful/

+1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос