Python 分段错误:运行Pygame时为11

Python 分段错误:运行Pygame时为11,python,macos,python-2.7,pygame,Python,Macos,Python 2.7,Pygame,有人问了一个类似的问题,但没有得到回答 我有Python 2.7.11、OSX 10.11和pygame 1.9.1。每次我运行程序时,窗口都会出现,然后关闭,出现错误“Segmentation fault:11”。我从pygame教程中得到了这一点,然后对其进行了轻微修改,以防止出现无限循环。(即使使用教程中使用的“while 1”循环,也会出现相同的错误。) 为什么会发生这种情况?我如何修复它?谢谢 import sys, pygame pygame.init() size = width

有人问了一个类似的问题,但没有得到回答

我有Python 2.7.11、OSX 10.11和pygame 1.9.1。每次我运行程序时,窗口都会出现,然后关闭,出现错误“Segmentation fault:11”。我从pygame教程中得到了这一点,然后对其进行了轻微修改,以防止出现无限循环。(即使使用教程中使用的“while 1”循环,也会出现相同的错误。)

为什么会发生这种情况?我如何修复它?谢谢

import sys, pygame
pygame.init()

size = width,height = 320,240
speed = [2,2]
black = 0,0,0

screen = pygame.display.set_mode(size)

ball = pygame.image.load("ball.gif")
ballrect = ball.get_rect()

for i in range(100):
    ballrect = ballrect.move(speed)
    if ballrect.left < 1 or ballrect.right > width - 1:
        speed[0] = -speed[0]
    if ballrect.top < 1 or ballrect.bottom > height - 1:
        speed[1] = -speed[1]

    screen.fill(black)
    screen.blit(ball,ballrect)
    pygame.display.flip()
导入系统,pygame
pygame.init()
尺寸=宽度,高度=320240
速度=[2,2]
黑色=0,0,0
screen=pygame.display.set_模式(大小)
ball=pygame.image.load(“ball.gif”)
ballrect=ball.get_rect()
对于范围(100)内的i:
ballrect=ballrect.移动(速度)
如果ballrect.left<1或ballrect.right>宽度-1:
速度[0]=-速度[0]
如果ballrect.top<1或ballrect.bottom>高度-1:
速度[1]=-速度[1]
屏幕填充(黑色)
屏幕。blit(球、球)
pygame.display.flip()

经过一番研究,当解释器以交互模式运行时,这似乎是一个已知问题。我已经找到了一个官方的python补丁,可能会有所帮助。要使用它,请在terminal.app(或其他shell)中打开终端会话,然后输入:

curl -O http://bugs.python.org/file32324/patch_readline_issue_18458.sh
openssl sha1 patch_readline_issue_18458.sh
# the digest should be 7cb0ff57820a027dd4ca242eb2418930f8f46b4c
然后

如果提示,请输入密码!
让我知道这是否有效

以防万一其他人也有同样的问题,我已经解决了。它崩溃是因为OSX10.11附带的SDL1有点损坏


解决方案是从下载运行库SDL1。下载dmg后打开它,并将SDL.framework文件从中移动到/Library/Frameworks中。因为那里已经有一个,所以我合并了这两个,但是替换也应该起作用。Pygame现在可以工作了

哦,谢谢!我试过了,我可以看到该文件已重命名为readline.so.disabled,但我仍然收到错误消息。它告诉我,我正在OS X 10.11.4上运行,而此修补程序仅在10.9.X上需要。好的,很抱歉。我不使用mac,也找不到关于这个话题的任何其他相关信息。没问题。谢谢你的帮助:)
sh ./patch_readline_issue_18458.sh