2

Especially when i run it from an external python file and just run it using IDLE or Pycharm..Please Help...but at times it works with in the interactive shell and then something happens and it starts its problems ....I simply typed

import pygame
x = pygame.init()
print(x)

C:\Python33\python.exe C:/Users/Home/Desktop/pygame.py Traceback (most recent call last): File "C:/Users/Home/Desktop/pygame.py", line 1, in import pygame File "C:\Users\Home\Desktop\pygame.py", line 2, in x = pygame.init() AttributeError: 'module' object has no attribute 'init'

Process finished with exit code 1.

CodeSmile
  • 64,284
  • 20
  • 132
  • 217
macphail magwira
  • 191
  • 4
  • 15

2 Answers2

7

The problem is that you named your file pygame.py.

If you run it and you want to import pygame, it will import your file C:\Users\Home\Desktop\pygame.py and not the installed pygame module.

So just use another filename (and delete C:\Users\Home\Desktop\pygame.py and any other leftovers).

sloth
  • 99,095
  • 21
  • 171
  • 219
0

pygame.init() initializes the pygame module, you don't assign it as a variable.

import pygame
pygame.init()

And that's it.

edit: As sloth mentioned: you also don't name your python projects the same name as modules, especially if you plan on importing them.

oxrock
  • 643
  • 5
  • 12
  • Assigning the return value from `init()` has nothing to do with the problem. How could it? `init` actually returns a tuple with the number of successful and failed inits. – sloth Jan 30 '15 at 15:55