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

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

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

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

pygame安装问题(1) 'module' object has no attribute 'init'_第1张图片

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

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

  1. >>> pygame  
  2. '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
pygame安装问题(1) 'module' object has no attribute 'init'_第2张图片 pygame安装问题(1) 'module' object has no attribute 'init'_第3张图片 pygame安装问题(1) 'module' object has no attribute 'init'_第4张图片

你可能感兴趣的:(人工智能,python)