在Cygwin中运行pygame - 没有可用的视频设备?

1 投票
2 回答
2806 浏览
提问于 2025-04-17 06:06

我在使用Windows 7专业版64位,搭配的Cygwin版本是:

CYGWIN_NT-6.1-WOW64 1.7.9(0.237/5/3) 2011-03-29 10:10 i686 Cygwin

我通过cygwinports安装了pygame版本1.9.1-3。这样,cygwin的设置就自动安装了我需要的所有依赖,包括libsdl版本1.2.14-1。

我尝试运行一个用pygame写的游戏,但遇到了这个错误:

  Traceback (most recent call last):
  File "Main.py", line 959, in <module>
    main()
  File "Main.py", line 25, in main
    windowSurfaceObj = pygame.display.set_mode((1280,720), DOUBLEBUF)
pygame.error: No available video device

我在网上查了这个错误,很多人建议我把SDL_VIDEODRIVER设置为"windib"。我照做了,并且在Python游戏里打印了这个环境变量,确认它确实被设置为"windib"。

所以我现在有点迷茫,不知道还可以尝试什么;是不是还有什么依赖我没有安装?

我觉得这可能和我之前做的一个cygwin更新有关,现在几乎所有的图形界面应用都需要X windows。我打算试着把这个变成一个X窗口,看看会发生什么。

2 个回答

0

根据你的评论,别再费劲去让*unix的东西在Windows上完美运行了,直接安装Windows版本就行:

安装过程很简单,只需双击安装文件就可以了,安装完成后你就可以直接使用import pygame来导入这个库了。

3

由于最近的cygwin更新似乎让几乎所有的图形界面都需要X窗口,所以创建一个X窗口服务器解决了这个问题。

你需要从cygwin.exe安装程序中安装X11的xinitxorg-server这两个必要的包。

可以按照这里的说明进行操作 https://x.cygwin.com/ 或者这里 https://x.cygwin.com/docs/ug/setup.html

撰写回答