2013-12-20 68 views
0

我已经成功地使用pygame过去,但现在它不会工作。 我的源是蟒蛇版本3.3中的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: # main game loop 
for event in pygame.event.get(): 
    if event.type == QUIT: 
     pygame.quit() 
     sys.exit() 
    pygame.display.update() 

在外壳使用能正常工作,并创建一个pygame的窗口,但做一个模块时,它不会工作。它说pygame不是一个软件包。

+0

你的系统上可能有多个Python版本,pygame只安装在其中的一个上。你是否在出现错误时双击你的'.py'文件来运行它? – MattDMo

+0

是的,我双击它。我的硬盘有两个python文件夹。 Pythonx和Python 33 – kookman98

回答

1

您安装了两个不同版本的Python(Python(x,y)和python.org版本),pygame仅安装在其中一个版本上。当您通过IDLE或与您相关的pygame版本的命令行运行解释器时,您可以导入pygame并使用它。但是,在Windows资源管理器中,.py文件与其他版本的Python相关联,该版本没有安装pygame,所以当您尝试通过双击运行文件时,错误的Python解释器启动,并且无法导入pygame,因为它没有安装该版本。

要解决此问题,您只需将.py文件与正确版本的Python重新关联即可。右键单击.py文件,选择Properties,然后在出现的对话框中找到类似“打开方式:”的对话框,然后单击更改按钮。浏览到C:\Python33并选择python.exe,你应该全部设置。确保设置了“始终使用所选程序打开此类文件”选项,然后单击确定。

我现在在XP上,所以根据你运行的是哪个版本的Windows,这个过程可能会略有不同,但它应该是非常相似的。

+0

没有做任何事情。即时通讯仍然得到同样的错误。我怎么得到Python的两个版本? – kookman98

+0

更简单地说,如果您不知道如何一次管理两个Python安装,并且没有充分理由说明为什么需要其中两个,我建议只删除另一个。如果你只是运行它/安装东西到/ etc。意外的是,它并没有帮助... – abarnert

+0

@ kookman98:你运行了两个安装程序,一个来自Python(x,y)项目,另一个来自其他地方,可能是Python.org。 – abarnert