ОП упоминает в комментарии, который dir(caribou)
дает ему:
['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__']
так что определенно смотрит в тот момент, что caribou
является модулем - обычно ничего не будет иметь __builtins__
и т. Д. В сообщении об ошибке, однако, четко упоминается Caribou instance
- поэтому я представляю, что что-то еще должно происходить между этим dir
вызовом и следующей попыткой доступа к caribou.on_key_up
.
Ясно, что у ОП несколько любимых идентификаторов caribou
(в какой-то момент он связан с экземпляром Caribou, но в других случаях это явно модуль, и на самом деле ОП упоминает caribou.py
, который явно станет модулем с именем caribou
при импорте).
Поэтому я рекомендую уточнить наименование. Например, используйте
caribou_instance = Caribou()
вместо привязки еще одного значения к имени caribou
и замены всех вариантов использования caribou
, которые должны быть экземпляром (а не модулем), на caribou_instance
. Это может привести к другой ошибке, которая может быть более информативной.