Python Pygame中的错误“;“你好,世界”;Mac OS 10.8程序
我在《山狮》中运行Pygame。我认为这一切都安装正确,因为我可以导入没有任何错误的模块 当我尝试运行一个非常简单的程序时,我得到了一个异常。代码如下:Python Pygame中的错误“;“你好,世界”;Mac OS 10.8程序,python,sdl,pygame,Python,Sdl,Pygame,我在《山狮》中运行Pygame。我认为这一切都安装正确,因为我可以导入没有任何错误的模块 当我尝试运行一个非常简单的程序时,我得到了一个异常。代码如下: import pygame, sys from pygame.locals import * pygame.init() DISPLAYSURF = pygame.display.set_mode((400, 300)) pygame.display.set_caption("Hello World!") while True: f
import pygame, sys
from pygame.locals import *
pygame.init()
DISPLAYSURF = pygame.display.set_mode((400, 300))
pygame.display.set_caption("Hello World!")
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
例外情况如下:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Error (1000) creating CGSWindow on line 259'
First throw call stack:
(
0 CoreFoundation 0x00007fff89699b06 __exceptionPreprocess + 198
1 libobjc.A.dylib 0x00007fff83b433f0 objc_exception_throw + 43
2 CoreFoundation 0x00007fff896998dc +[NSException raise:format:] + 204
3 AppKit 0x00007fff85492b49 _NSCreateWindowWithOpaqueShape2 + 655
4 AppKit 0x00007fff85491340 -[NSWindow _commonAwake] + 2002
5 AppKit 0x00007fff8544fd82 -[NSWindow _commonInitFrame:styleMask:backing:defer:] + 1763
6 AppKit 0x00007fff8544eecf -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1568
7 AppKit 0x00007fff8544e89f -[NSWindow initWithContentRect:styleMask:backing:defer:] + 45
8 libSDL-1.2.0.dylib 0x00000001043cbaf9 -[SDL_QuartzWindow initWithContentRect:styleMask:backing:defer:] + 279
9 libSDL-1.2.0.dylib 0x00000001043c951b QZ_SetVideoMode + 1409
10 libSDL-1.2.0.dylib 0x00000001043c0809 SDL_SetVideoMode + 907
11 display.so 0x000000010444330f set_mode + 271
12 Python 0x00000001040be754 PyEval_EvalFrameEx + 7873
13 Python 0x00000001040bc769 PyEval_EvalCodeEx + 1638
14 Python 0x00000001040bc0fd PyEval_EvalCode + 54
15 Python 0x00000001040dae88 run_mod + 53
16 Python 0x00000001040daf2f PyRun_FileExFlags + 137
17 Python 0x00000001040daa7d PyRun_SimpleFileExFlags + 718
18 Python 0x00000001040eb593 Py_Main + 3039
19 libdyld.dylib 0x00007fff862497e1 start + 0
)
libc++abi.dylib: terminate called throwing an exception
我认为是pygame.display.set_mode((400300))导致了这种情况。我的谷歌搜索告诉我这是一个图形化的东西,可能与SDL有关,但我没有足够的理解来修复它。可能是SDL视频驱动程序没有正确初始化。首先确保
pygame.init()
返回(6,0)
。这将告诉您是否所有内容都已正确初始化。如果没有,您可以检查它使用的是什么视频驱动程序pygame.display.get\u driver()
。如果没有为您的机器使用正确的驱动程序,您可以通过将环境变量os.environ['SDL\u VIDEODRIVER']=
设置为以下驱动程序之一来更改它,具体取决于可用的驱动程序
查看上的pygame常见问题解答。使用调试器检查代码并查看它在何处引发异常。