问题
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?
回答1:
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 (./
).
回答2:
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...
回答3:
I also named my app pygame.py and i had the same issue but when i changed it, it worked for me .
来源:https://stackoverflow.com/questions/19912810/pygame-attribute-init