您的位置:首页 > 移动开发 > Objective-C

pygame安装问题(1) 'module' object has no attribute 'init'

2016-06-06 13:02 756 查看
近期打算利用pygame库写一个小游戏,在下载pygame后用脚本运行pygame.init()语句时报错:

Traceback (most recent call last):
File "C:/Users/mnb/Desktop/22.py", line 1, in <module>
import pygame
File "C:\Users\mnb\Desktop\pygame.py", line 4, in <module>
AttributeError: 'module' object has no attribute 'init'
翻译下错误原因就是导入的pygame包中没有定义init()函数。



然而我从安装目录下发现的确存在__init__函数,而且在Sheel(IDLE编辑器)中直接运行pygame.init()并没有报错:

>>> import pygame
>>> pygame.init()
(6, 0)
那么就可以推测从脚本导入包的路径和Sheel的是不同的,在Sheel下运行pygame找到正确路径应为:
>>> pygame
<module 'pygame' from 'C:\Python27\lib\site-packages\pygame\__init__.pyc'>
显然与错误路径"C:\Users\mnb\Desktop\pygame.py"不同,那么根据错误路径(我的在桌面)可以发现有一个.pyc文件:


pyc文件,是python编译后的字节码(bytecode)文件。只要你运行了py文件,python编译器就会自动生成一个对应的pyc字节码文件。这个pyc字节码文件,经过python解释器,会生成机器码运行。所以把这个.pyc文件名改掉就能正常导入包了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python pygame 安装