10

我有这个设置:

 $ python -V
Python 2.7.2+
 $ python -c "import pygame; print pygame.__version__"
1.9.1release

当我运行 pygame 脚本时,我收到此错误:

Traceback (most recent call last):
  File "/home/santosh/tmp/pygameHelloWorld.py", line 8, in <module>
    windowSurface = pygame.display.set_mode((500, 400), 0, 32)
pygame.error: No available video device

我正在使用 Ubuntu 并使用 apt-get 安装 pygame。此外,我已经安装了这个pygame wiki 页面上提到的所有依赖项。

4

8 回答 8

19

如果您在 UNIX 系统(如 Linux 服务器)上运行 Pygame,请尝试使用DummyVideoDriver

import os
os.environ["SDL_VIDEODRIVER"] = "dummy"
于 2017-10-25T20:37:47.030 回答
5

从类似的经验来看,最可能的问题是您的 SDL 软件包之一出现问题。尝试运行以下命令。

import pygame
pygame.init()
pygame.display.list_modes()

如果你得到一个空列表,那肯定是因为包。尝试重新安装它们。

可能相关:

于 2013-04-11T22:22:27.083 回答
2

此问题可能只影响 Windows XP。尝试将其中之一添加到您的代码中:

import os
os.environ['SDL_VIDEODRIVER']='windib'

或者

import os
os.environ['SDL_VIDEODRIVER']='windlib'

祝你好运。

于 2013-04-23T17:03:48.577 回答
0

疯狂的猜测-库是否设置和/或需要 DISPLAY 环境变量,并且不可用?如果您在不提供 -X 选项的情况下通过 ssh 连接到正在运行它的 Linux 机器,则可能会出现这种情况。

于 2013-04-24T20:20:27.243 回答
0

在 Linux 上,您可以使用 x11 解决问题。

验证您的 SDL 是在 x11 支持下构建的,否则只有在您以这种方式添加一些库之后自己构建它:

sudo apt install xorg-dev libx11-dev libgl1-mesa-glx

也许xorg-dev已经安装了 libx11-dev

从源代码构建 SDL 并享受

于 2020-10-02T07:53:09.290 回答
0

尝试以下操作:

import pygame
from pygame.locals import *
pygame.init()
于 2018-12-05T01:37:08.770 回答
0

我用以下三个命令解决了它:

sudo apt-get update

sudo apt-get dist-upgrade

sudo apt-get install libsdl1.2debian:i386
于 2021-01-17T05:24:20.200 回答
0

我在尝试在 jupyter 笔记本中渲染 OpenAI 健身房时遇到此错误。按照福山的回答让它停止错误,但它只呈现黑色图像。查看https://wiki.libsdl.org/FAQUsingSDL,我发现我可以directfb用作渲染器。代码最终是:

import os
os.environ["SDL_VIDEODRIVER"] = "directfb"
于 2021-09-24T00:36:56.627 回答