【问题标题】:How can we use pygame on Google Colab?我们如何在 Google Colab 上使用 pygame?
【发布时间】:2019-11-24 09:38:43
【问题描述】:

我正在尝试使用 q learning 来自动化我的游戏,并且正在考虑使用 colab 来获得一些额外的 GPU 支持。安装需求并运行代码后,colab 报错:

> error:
> Traceback (most recent call last)
<ipython-input-16-28b090095233> in <module>()
      5 
      6 pygame.font.init()
----> 7 pygame.display.list_modes()
      8 pygame.init()
      9 

>error: video system not initialized 

如果有人能解决这个错误或者告诉我如何使用VNC来解决这个问题。

我试过pygame .init() 和pygame.display.list_modes()

【问题讨论】:

  • 要使用pygame.display.list_modes(),你必须首先使用pygame.init(),如果它存在,它应该初始化视频系统。

标签: python pygame google-colaboratory


【解决方案1】:

PyGame只能使用本地显卡和本地显示器。

当您在服务器上运行代码时,它会尝试使用安装在服务器中的视频卡和连接到您看不到的该服务器的监视器。

但是你甚至不能运行它,因为通常服务器没有显卡和显示器,因为没有人可以看到这个显示器(除了服务器的管理员)。


编辑:如果服务器有显卡,那么你必须在list_modes()之前运行pygame.display.init()

 pygame.display.init()
 print( pygame.display.list_modes() )

或pygame.init() 应该运行pygame.display.init()(和其他init())

 pygame.init()
 print( pygame.display.list_modes() )

【讨论】:

    【解决方案2】:

    有一种方法可以在 Colab 中运行 pygame,但有一些限制。

    1. 欺骗系统认为有视频设备
    2. 捕获 pygame 屏幕并将其复制到与 Colab 兼容的另一个界面,例如 OpenCV 或 matplotlib
    3. 使用输出库清除单元格。

    不是最优雅的方式,但它可以完成。

    看看我创建的这个笔记本:(https://colab.research.google.com/drive/1xtiBrGeRHmXY3KSOixkZBf_rJIgBImJu?usp=sharing)

    请注意有限制:

    1. 无法从键盘或鼠标读取输入
    2. 无法播放音频

    在我的例子中,我有兴趣将 pygame 用于动画目的,所以我并不太担心。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-25
      • 2020-10-30
      • 1970-01-01
      • 2018-10-02
      • 2021-12-15
      • 2021-05-03
      • 1970-01-01
      相关资源
      最近更新 更多