Windows 10 上的 PsychoPy 无头

PsychoPy headless on Windows 10

问题: 我正在尝试 运行 PsychoPy 在 Windows 10 上无头,但我正在努力这样做。

错误: 目前,我的 window 类型设置为“pygame”,所以我尝试 运行ning os.environ["SDL_VIDEODRIVER"] = "dummy" 在我的代码的顶部,但得到:pygame.error: OpenGL not available.

代码: 这是我指定 window 的地方,我得到的错误是:

os.environ["SDL_VIDEODRIVER"] = "dummy"

# This line gives the error
win = visual.Window(
    size=[1440, 900], fullscr=False, screen=0,
    winType='pygame', allowGUI=False, allowStencil=False,
    monitor='testMonitor', color=[-1,-1,-1], colorSpace='rgb',
    blendMode='avg', useFBO=True)

额外信息: 我愿意使用另一种 window 类型,如 Pyglet,如果它能让 运行ning 无头更容易,但现在我是有点卡住了。 我考虑过尝试使 OpenGL 运行 无头而不是 Pygame,但我不知道该怎么做。如果有人可以解释如何让 OpenGL/PyOpenGL 变成 运行 无头,我可以试试。

好的,我认为您要查找的关键字是 "offscreen rendering"。

经过更多挖掘,我认为最好的方法确实是修改 PsychoPy:首先,您必须使用 GLFW window 而不是 pygame,并且您需要修改 visual/backends/glfwbackend.py:

在第 302 行,尝试插入 glfw.window_hint(glfw.VISIBLE, 0) 并查看它是否适用于您的用例。

PyOpenGL 的剩余示例:https://github.com/AntonOvsyannikov/PyOpenGL_Examples_SaveToFile