Как смоделировать нажатия клавиш Python в блокноте Google Collab? - PullRequest
0 голосов
/ 25 декабря 2018

Я разработал записную книжку Collab на Python, которая предназначена для имитации нажатия клавиш на клавиатуре, чтобы играть в игру, за которой он будет следить в процессе обучения подкреплению.Я попытался использовать несколько рекомендаций (например, pyautogui, Quartz и т. Д.), Но я даже не могу импортировать эти библиотеки .

Например, когда я установил pyautogui и Xlib и попытался импортировать pyautogui, он выдал KeyError: 'DISPLAY' .Тем не менее, pyautogui отлично работает на моей локальной машине при запуске из терминала.

Аналогично, после установки (! Pip install pynput) pynput на ноутбук Collab, когда я пытался импортировать его, он показывал DisplayNameError: Badотображаемое имя "" , о котором я понятия не имею.

Я даже попробовал модуль getkey, однако из getkey import getkey, ключи , но безуспешно.

Есть ли способ заставить это работать?Кроме того, кто-нибудь может объяснить, почему эти модули работают нормально на моем локальном оборудовании, но не на Google Collab?Также, пожалуйста, предложите любую альтернативу этим модулям, которая может нормально работать на Collab?

Большое спасибо.

1 Ответ

0 голосов
/ 26 декабря 2018

Когда вы используете такой модуль на локальном компьютере, он подключается к оборудованию для получения событий мыши / клавиатуры / монитора.

Однако Google Colab запускается на экземпляре компьютера в Google Cloud.Python не может получить доступ к вашей клавиатуре / монитору.Вы взаимодействуете с Colab только через браузер.

Альтернативой является использование JavaScript для получения этих событий и передачи его в Python.Я привожу пример, как соединить JS с PY в качестве сущности.

https://gist.github.com/korakot/d10a43490f3da17d4915cdc1f200b180

Это очень сложно сделать, предупреждаю вас.Вы должны реализовать передачу действий назад и вперед между JS и PY.

Я предлагаю вам просто сделать это на локальном компьютере.Вы можете использовать Local Runtime, если вам нравится Colab.

https://research.google.com/colaboratory/local-runtimes.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...