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

来源:互联网 发布:拍大师登录网络超时 编辑:程序博客网 时间:2024/06/06 07:43

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

[python] view plain copy
  1. Traceback (most recent call last):  
  2.   File "C:/Users/mnb/Desktop/22.py", line 1in <module>  
  3.     import pygame  
  4.   File "C:\Users\mnb\Desktop\pygame.py", line 4in <module>  
  5. AttributeError: 'module' object has no attribute 'init'  

翻译下错误原因就是导入的pygame包中没有定义init()函数。


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

[python] view plain copy
  1. >>> import pygame  
  2. >>> pygame.init()  
  3. (60
那么就可以推测从脚本导入包的路径和Sheel的是不同的,在Sheel下运行pygame找到正确路径应为:

  1. >>> pygame  
  2. <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] view plain copy
  1. >>> import pygame  
  2. >>> pygame.init()  
  3. (60
[python] view plain copy
  1. >>> import pygame  
  2. >>> pygame.init()  
  3. (60
阅读全文
0 0
原创粉丝点击