【问题标题】:How to simulate python key presses in Google Collab notebook?如何在 Google Colab 笔记本中模拟 python 按键?
【发布时间】:2020-06-05 20:17:17
【问题描述】:

我用 Python 开发了一个协作笔记本,它打算模拟键盘按键的按下,以便玩一个游戏,它将作为强化学习的一部分进行监控。我尝试过使用几个建议(如 pyautogui、Quartz 等),但我甚至无法导入这些库

例如,当我安装 pyautogui 和 Xlib 并尝试导入 pyautogui 时,它给出了 KeyError: 'DISPLAY'。但是,当从终端运行时,pyautogui 在我的本地机器上运行良好。

同样,在将 (!pip install pynput) pynput 安装到 Collab notebook 后,当我尝试导入它时,它显示 DisplayNameError: Bad display name "",我不知道。 p>

我什至尝试了 getkey 模块,但是 from getkey import getkey, keys 但没有成功。

有什么办法可以让它工作吗?另外,任何人都可以解释为什么这些模块在我的本地硬件上运行良好但在 Google Collab 上运行良好?另外,请提出任何可以在 Collab 上正常工作的模块的替代方案?

非常感谢。

【问题讨论】:

    标签: python google-colaboratory


    【解决方案1】:

    当您在本地计算机上使用此类模块时,它会与硬件连接以获取您的鼠标/键盘/监视器事件。

    但是,Google Colab 是在 Google Cloud 中的机器实例上运行的。那里的 Python 无法访问您的键盘/显示器。您只能通过浏览器与 Colab 交互。

    另一种方法是使用 JavaScript 获取这些事件并将其传递给 Python。 我这里以如何从 JS 连接到 PY 为例进行说明。

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

    我警告你,这很难做到。您必须在 JS 和 PY 之间来回执行传递操作。

    我建议您只在本地计算机上执行此操作。如果您喜欢 Colab,可以使用 Local Runtime。

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

    【讨论】:

      【解决方案2】:

      尝试将键盘模块下载到您的计算机上。然后转到插入> sn-ps> 从您的计算机上传。希望这会有所帮助:)

      【讨论】:

        猜你喜欢
        • 2018-09-14
        • 2019-07-28
        • 2018-12-14
        • 2020-11-28
        • 1970-01-01
        • 2018-04-30
        • 2020-02-28
        • 2020-06-11
        • 2020-10-17
        相关资源
        最近更新 更多