我会努力工作,提高测试技能。

安装pygame后运行引起的'module' object has no attribute 'init'

上一篇 / 下一篇  2014-03-25 13:42:54 / 个人分类:python学习

今天学习pygame,安装pygame后,敲入书上第一个实例
 
源码:
import pygame
pygame.init()
screen = pygame.display.set_mode([640,480])
并保存为pygame.py文件
 
运行:
提示'module' object has no attribute 'init'
 
查问题:
第一步:先确定pygame是否安装成功。
shell中敲入命令行:
import pygame
print pygame.ver
确定安装的pygame版本,此时能显示,表示pygame安装成功。
 
第二步:安装路径中文件是否缺失:
找到 PYTHON-SITEROOT\Lib\site-packages\pygame\ 这个目录(PYTHON-SITEROOT是python的安装目录)看下面有没有除__init__.py之外的文件,然后寻找一个叫base.pyd的文件,因为,你在做了import pygame的时候其实是导入的这个文件,你调用pygame.init()也是调用的pygame.base.init(),如果这个文件不存在,那肯定会
AttributeError: 'module' object has no attribute 'init'的

如果没问题,去查看下tests\base_test.py 有没有这方法:
def __PYGAMEinit__(): #called automatically by pygame.init()

如果没有,证明你的pygame装错了。
 
经证明均正确。
 
第三步:
源码改为:import pygame
F5运行
在shell中敲入命令print pygame
显示
>>> print pygame
<module 'pygame' from 'C:\Python27\learn\pygame.pyc'>
>>>
说明导入的pygame路径在'C:\Python27\learn\pygame.pyc‘。
 
此时发现与第二步pygame的安装路径不一致,正确的路径应该是:
<module 'pygame' from 'C:\Python27\lib\site-packages\pygame\__init__.pyc'>
 
说明pygame引入路径不正确,查找learn下存在pygame.pyc与lib下的pygame重名,需要修改这个文件的名字。
 
修改保存文件的名字,此时运行ok。问题解决。
 
 

TAG:

 

评分:0

我来说两句

Open Toolbar