Python说pygames没有属性'init()'但是正确安装了lib

时间:2011-05-11 06:37:27

标签: python windows pygame

我在[{3}}

中使用Python 2.7pygame-1.9.2pre.win32-py2.7.‌exe

我已经运行了这个脚本:

import pygame
print 'PyGame Version: %s ' % pygame.__version__

看看我的模块是否安装正确并且我得到了:

PyGame Version: 1.9.2pre 

据我所知,这意味着pygame正常工作。在Python IDLE中,我尝试以交互方式运行:

import pygame 
pygame.init()

# Set the height and width of the screen
size=[700,500]
screen=pygame.display.set_mode(size)
pygame.display.set_caption("My Game")

它工作正常。但每当我尝试将其作为脚本运行时,我得到:

Traceback (most recent call last):
  File "D:\Computing\Workspaces\Python\test\pygame.py", line 5, in <module>
    import pygame
  File "D:\Computing\Workspaces\Python\test\pygame.py", line 13, in <module>
    pygame.init()
AttributeError: 'module' object has no attribute 'init'

在Eclipse上或在IDLE中运行。这可能是什么?

2 个答案:

答案 0 :(得分:6)

如果您的脚本名为pygame.py,Python将导入它而不是实际的pygame包(当您执行import pygame时)。这可能解释了你的错误。

答案 1 :(得分:0)

当你命名你的脚本pygame.py并试图运行它时,python创建了一个文件名“pygame.pyc”(= python编译文件)并将它放在你保存pygame.py脚本的目录中。

你必须删除newley创建的.pyc文件并将脚本重命名为my_py_game.py而不是pygame.py