5
votes

I'm trying to use Pygame with Python 3.3 on my windows 8 laptop. Pygame installed fine and when I import pygame it imports fine as well. Although when I try to execute this small code:

import pygame

pygame.init()

size=[700,500]
screen=pygame.display.set_mode(size)

I get this error:

Traceback (most recent call last):
  File "C:\Users\name\documents\python\pygame_example.py", line 3, in <module>
    pygame.init()
AttributeError: 'module' object has no attribute 'init'

I used pygame-1.9.2a0-hg_56e0eadfc267.win32-py3.3 to install Pygame. Pygame is installed in this location 'C:\PythonX' and Python 3.3 is installed in this location 'C:\Python33'. I have looked at other people having the same or similar problem and it doesn't seem to solve the error. Have I done anything wrong when installing Pygame? Or does it not support windows 8?

4
What does import pygame; print(pygame.__file__) print? - Martijn Pieters♦
Traceback (most recent call last): File "<pyshell#3>", line 1, in <module> print(pygame.__file__) AttributeError: 'module' object has no attribute 'file' @MartijnPieters - user2387537
Interesting. No idea what you imported there, but I am trying to figure out if that is actually the pygame module or something else. It is certainly possible that the 'real' pygame module has no .__file__ attribute, but it is surprising. Does print(pygame) give any detail? - Martijn Pieters♦
Also, I want you to add the print() statements to your script, not run them in a Python shell please. - Martijn Pieters♦
When I printed print(pygame.__file__) in my script I still got the same error as before and when I printed print(game) in my script I got this: <module 'pygame' (namespace)>. @MartijnPieters - user2387537

4 Answers

12
votes

After import pygame pygame.init()

I got this error message and programm didnt work: " AttributeError: module 'pygame' has no attribute 'init' "

because i named the file "pygame.py"...

When i chaned filename to "pygametest.py" everything worked.

Naming the filename exactly like the modulename seems to confuse python...

8
votes

You have a directory named pygame in your path somewhere.

$ mkdir pygame  # empty directory
$ python3.3
>>> import pygame
>>> pygame
<module 'pygame' (namespace)>
>>> pygame.__path__
_NamespacePath(['./pygame'])

Remove or rename this directory, it is masking the actual pygame package.

If you use print(pygame.__path__) it'll tell you where the directory was found; in the above example it was found relative to the current directory (./).

1
votes

I also named my app pygame.py and i had the same issue but when i changed it, it worked for me .

0
votes

Try to place the pygame module in .\PythonX\Lib\site-packages\

I use pip to install all modules I need.

Have you downloaded pygame and manually placed it in the PythonX folder ? Maybe the error comes from that.