Я использую Python 2.7
с pygame-1.9.2pre.win32-py2.7.exe
из http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame
Я запустил этот script:
import pygame
print 'PyGame Version: %s ' % pygame.__version__
чтобы убедиться, что мой модуль установлен правильно, и я получил:
PyGame Version: 1.9.2pre
Насколько я знаю, это означает, что pygame работает правильно. В Python IDLE я пытаюсь запустить интерактивно:
import pygame
pygame.init()
# Set the height and width of the screen
size=[700,500]
screen=pygame.display.set_mode(size)
pygame.display.set_caption("My Game")
И он отлично работает. Но всякий раз, когда я пытаюсь запустить это как script, я получаю:
Traceback (most recent call last):
File "D:\Computing\Workspaces\Python\test\pygame.py", line 5, in <module>
import pygame
File "D:\Computing\Workspaces\Python\test\pygame.py", line 13, in <module>
pygame.init()
AttributeError: 'module' object has no attribute 'init'
В Eclipse или Running in IDLE. Что это может быть?
Если ваш script имеет имя pygame.py
, Python импортирует его вместо фактического пакета pygame
(когда вы делаете import pygame
). Это может объяснить вашу ошибку.
когда вы назвали свой script pygame.py и попытались его запустить, python создал имя файла pygame.pyc(= файл с компиляцией python) и поместил его в каталог, в котором вы сохранили файл pygame.py script.
вам нужно удалить созданный newley файл .pyc и переименовать ваш script на somthing как my_py_game.py вместо pygame.py
.pyc
файл не сохраняется при запуске , он сохраняется при импорте .