问题描述
我在MacBook上使用pygame构建一个吃豆人游戏,我已经在Visual Studio代码中编写了代码,并在终端中使用了pip install pygame,但是,当我为自己的游戏运行python脚本时,出现了错误。
我到目前为止拥有的文件(总共3个)
main.py:
from app_class import *
if __name__ == '__main__':
app = App()
app.run()
app_class.py:
import pygame
import sys
from settings import *
pygame.init()
vec = pygame.math.Vector2
class App:
def __init__(self):
self.screen = pygame.display.set_mode((WIDTH,HEIGHT))
self.clock = pygame.time.Clock()
self.running = True
self.state = 'start'
def run(self):
while self.running:
if self.state == 'start':
self.start_events()
self.start_update()
self.start_draw()
self.clock.tick(FPS)
pygame.quit()
sys.exit()
############################################################### Helper Functions ############################
def draw_text(self,words,screen,pos,size,colour,font_name,centered=False):
font = pygame.font.SysFont(font_name,size)
text = font.render(words,False,colour)
text_size = text.get_size()
if centered:
pos[0] = pos[0]-text_size[0]//2
pos[1] = pos[1]-text_size[1]//2
screen.blit(text,pos)
############################################################### INTRO Functions ############################
def start_events(self):
for event in pygame.event.get():
if event.type == pygame.QUIT:
self.running = False
if event.type == pygame.KEYDOWN and event.key == pygame.K_Space:
self.state = 'playing'
def start_update(self):
pass
def start_draw(self):
self.screen.fill(BLACK)
self.draw_text('PUSH SPACE BAR',self.screen,(WIDTH//2,HIEGHT//2),START_TEXT_SIZE,(170,132,58),START_FONT)
pygame.display.update()
settings.py:
#screen settings
WIDTH,HEIGHT = 448,596
FPS = 60
#colour settings
BlACK = (0,0)
#font settings
START_TEXT_SIZE = 16
START_FONT = 'arial black'
#player settings
#mob settings
但是当我从python运行main.py时,我仍然收到此错误
Traceback (most recent call last):
File "/Users/therealfawcett/Documents/University/Third-Year/ICP - 3025 - Apps Artificial Intelligence/Assignments /PacMan/main.py",line 1,in <module>
from app_class import *
File "/Users/therealfawcett/Documents/University/Third-Year/ICP - 3025 - Apps Artificial Intelligence/Assignments /PacMan/app_class.py",in <module>
import pygame
ModuleNotFoundError: No module named 'pygame'
有人知道为什么吗?
解决方法
使用Python3时,您需要使用pip3导入。
pip3 install pygame
,
几天前,我遇到了同样的问题。我的解决方案是使用虚拟环境。为此,请在您的文件夹中打开一个终端,然后使用以下命令:
pip install pipenv
pipenv shell
pipenv install pygame
此后,您需要选择正确的python解释器。在VS Code中,按 ctrl + shift + p 然后单击正确的解释器(应具有文件夹的名称)。 然后尝试运行该文件。如果这不起作用,请尝试在终端中运行此命令: pipenv运行{python文件的名称,例如:app.py}
希望对您有用