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
问题: 我正在尝试 运行 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