Рейтинг:-3

AttributeError: модуль «cec» не имеет атрибута «init» Ubuntu 21.10 rpi4

флаг td

Когда я запускаю этот скрипт

#!/usr/bin/python3

импорт ЦЭК
импортировать ввод
время импорта

u = uвход

КЛАВИАТУРА = {
   0: u.KEY_ENTER,
   1: u.KEY_UP,
   2: u.KEY_DOWN,
   3: u.KEY_LEFT,
   4: u.KEY_RIGHT,
   9: u.KEY_HOMEPAGE,
  10: u.KEY_MENU,
  13: u.KEY_BACK,
  44: u.KEY_HOMEPAGE,
  68: u.KEY_PLAY,
  69: u.KEY_STOP,
  70: u.KEY_PAUSE,
  75: u.KEY_FASTFORWARD,
  76: u.KEY_REWIND,
 103: u.KEY_HOMEPAGE,
 113: u.KEY_BLUE,
 114: u.KEY_RED,
 115: u.KEY_YELLOW,
 116: u.KEY_GREEN
}

cec.init()
устройство = uinput.Device(KEYMAP.values())

распечатать("Готово")
ключевое состояние = Нет

def onkey(событие, ключ, состояние):
    утверждать событие == 2
    глобальное ключевое состояние
    если состояние == 0 и состояние ключа равно None:
        print("Ключ есть", ключ, "состояние", состояние)
        ключевое состояние = "вниз"
        device.emit (KEYMAP [ключ], 1)

    если состояние > 0:
        если ключевое состояние None:
           print("Ключ есть", ключ, "состояние", состояние)
           device.emit (KEYMAP [ключ], 1)

        print("Ключ {0} после {1}".format(key, state))
        device.emit (KEYMAP [ключ], 0)
        ключевое состояние = Нет

cec.add_callback(клавиша, cec.EVENT_KEYPRESS)

пока верно:
 время сна (9e9)

я получил

Traceback (последний последний вызов):
  Файл "/home/mycroft/.config/autostart-scripts/cec-daemon.py", строка 31, в <module>
    cec.init()
AttributeError: модуль «cec» не имеет атрибута «init»

У меня есть Ubuntu 21.10 rpi4, установлены пакеты libcec6 libcec-dev и python3-cec.

N0rbert avatar
флаг zw
И что? Откуда у тебя этот скрипт? Тестировалось на 21.10? Для какой версии Ubuntu он был изначально разработан? Почему вы думаете, что это должно работать 21.10? Как вы его запускаете?
lnee avatar
флаг td
Скрипт был с плазмы-большого экрана и не предназначен для Ubuntu 21.10 как мне это исправить
N0rbert avatar
флаг zw
Это все еще не воспроизводимо. Не могли бы вы добавить больше деталей. URL-адрес загрузки/репозитория и шаги для воспроизведения.
lnee avatar
флаг td
Это то же самое для Ubuntu arm64 Raspberry Pi `sudo apt install libcec6 libcec-dev python3-cec`, затем скопируйте приведенный выше скрипт и вставьте в файл, запустите файл с `python3 script.py`
N0rbert avatar
флаг zw
Все равно не воспроизводится. Пожалуйста, добавьте точные шаги для воспроизведения в вопрос, отредактировав его.
lnee avatar
флаг td
как и вы тестировали скрипт на пи?
N0rbert avatar
флаг zw
Я получил ошибку даже на свежем док-контейнере amd64. Пожалуйста, покажите исходный URL-адрес скрипта, который включен в тело вопроса. Откуда он был скопирован/скачан?
lnee avatar
флаг td
это изображение с большого экрана плазмы в /home/mycroft/.config/autostart-scripts/cec-deamon.py
lnee avatar
флаг td
и протестируйте его на ubuntu rpi arm64
lnee avatar
флаг td
Итак, я удалил пакет deb python3-cec, установил пакет cec pipy, и теперь каждый раз, когда я запускаю скрипт, подключение hdmi к телевизору отключается.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.