如何在 Google Colab notebook 中模拟 python 按键?
How to simulate python key presses in Google Collab notebook?
我在 Python 开发了一个 Collab notebook,它旨在模拟键盘按键的按下以玩游戏,它将作为强化学习的一部分进行监控。我已经尝试使用一些建议(如 pyautogui、Quartz 等),但我 甚至无法导入这些库 。
例如,当我安装 pyautogui 和 Xlib 并尝试导入 pyautogui 时,它给出了 KeyError: 'DISPLAY'。但是,当终端 运行 时,pyautogui 在我的本地机器上工作正常。
类似地,在将 (!pip install pynput) pynput 安装到 Collab notebook 之后,当我尝试导入它时,它显示 DisplayNameError: Bad display name "",其中我有没头绪。
我什至尝试了 getkey 模块,但是 from getkey import getkey, keys 但没有成功。
有什么方法可以让它工作吗?另外,任何人都可以解释为什么这些模块在我的本地硬件上工作正常,但在 Google Collab 上却不能?另外,请提出可以在 Collab 上正常工作的这些模块的替代方案?
非常感谢。
当您在本地计算机上使用此类模块时,它会与硬件连接以获取您的 mouse/keyboard/monitor 事件。
但是,Google Colab 运行 在 Google 云中的机器实例上。 Python 无法访问您的 keyboard/monitor。您只能通过浏览器与 Colab 交互。
另一种方法是使用 JavaScript 获取这些事件并将其传递给 Python。
我在这里举例说明如何从 JS 连接到 PY 作为要点。
https://gist.github.com/korakot/d10a43490f3da17d4915cdc1f200b180
这很难做到,我警告你。必须实现JS和PY的来回传递动作
我建议您只在本地计算机上执行此操作。如果你喜欢 Colab,你可以使用 Local Runtime。
https://research.google.com/colaboratory/local-runtimes.html
尝试将键盘模块下载到您的计算机上。然后去插入>片段>从您的计算机上传。希望这有帮助:)
我在 Python 开发了一个 Collab notebook,它旨在模拟键盘按键的按下以玩游戏,它将作为强化学习的一部分进行监控。我已经尝试使用一些建议(如 pyautogui、Quartz 等),但我 甚至无法导入这些库 。
例如,当我安装 pyautogui 和 Xlib 并尝试导入 pyautogui 时,它给出了 KeyError: 'DISPLAY'。但是,当终端 运行 时,pyautogui 在我的本地机器上工作正常。
类似地,在将 (!pip install pynput) pynput 安装到 Collab notebook 之后,当我尝试导入它时,它显示 DisplayNameError: Bad display name "",其中我有没头绪。
我什至尝试了 getkey 模块,但是 from getkey import getkey, keys 但没有成功。
有什么方法可以让它工作吗?另外,任何人都可以解释为什么这些模块在我的本地硬件上工作正常,但在 Google Collab 上却不能?另外,请提出可以在 Collab 上正常工作的这些模块的替代方案?
非常感谢。
当您在本地计算机上使用此类模块时,它会与硬件连接以获取您的 mouse/keyboard/monitor 事件。
但是,Google Colab 运行 在 Google 云中的机器实例上。 Python 无法访问您的 keyboard/monitor。您只能通过浏览器与 Colab 交互。
另一种方法是使用 JavaScript 获取这些事件并将其传递给 Python。 我在这里举例说明如何从 JS 连接到 PY 作为要点。
https://gist.github.com/korakot/d10a43490f3da17d4915cdc1f200b180
这很难做到,我警告你。必须实现JS和PY的来回传递动作
我建议您只在本地计算机上执行此操作。如果你喜欢 Colab,你可以使用 Local Runtime。
https://research.google.com/colaboratory/local-runtimes.html
尝试将键盘模块下载到您的计算机上。然后去插入>片段>从您的计算机上传。希望这有帮助:)