【发布时间】:2020-04-14 18:21:48
【问题描述】:
人类同胞!
我最近安装了 pygame,遵循 Bryson Payne 制作的精彩指南,您可以找到 here。我按照说明中的顺序安装了以下所有依赖项和程序。
- 已安装 XQuartz
- Homebrew 已经安装(这是第二步)。
- 从 homebrew 安装了一个 python 3 版本,专门用于 pygame
- 在终端中执行了以下命令:brew install mercurial、brew install sdl sdl_image sdl_mixer sdl_ttf portmidi、brew tap homebrew/headonly(这个命令失败了,但是 pygame 仍然让我下载它!我读了如果我没有这个,它不应该让我下载,所以我只是刷掉它。如果你认为这是问题,告诉我!),最后,brew install smpeg
- 然后,sudo pip3 install hg+http://bitbucket.org/pygame/pygame。这在第一次运行时不起作用,所以我通过“pip3 install pygame”安装了它,它起作用了。然后我再次尝试了原来的命令,这次确实下载了。
此外,我之后通过终端安装了 pgzero,然后通过项目解释器安装到 pycharm。对普通的 pygame 也是如此。而且,奇怪的事情发生了。据称启用了 pygame 的 IDLE(python 3.7)实际上不起作用。然后我尝试使用我之前拥有的另一个 IDLE,3.8.2,并且确实有效。
在不久前(大约 2 周)的第一次尝试中,我真的没有考虑太多安装,因为它已正确下载。然后,当我尝试在 PyCharm 和 IDLE 上运行我的简单程序时,都没有成功! IDLE 上的代码没有显示错误消息... IDLE 只是运行了代码,但什么也没发生,因为 python 开始运行程序:但几分钟后出现,代码什么也没做。出现以下执行程序的窗口。
The window that executes programs
但是运行相同代码的 PyCharm 会显示不同的消息。如下(注意.py文件上方的位置,是要使用的照片)。
新窗口没有显示 >>> 提示,即使让它运行了几分钟。 Python Launcher 在 Dock 上弹跳,就像在加载一样,直到 3 分钟后停止。
所以,澄清一下,代码运行没有错误,但没有显示,甚至是基本窗口! 这发生在各种小程序中。以下是一些示例。
import pygame
background_colour = (255,255,255)
(width, height) = (300, 200)
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption('Tutorial 1')
screen.fill(background_colour)
pygame.display.flip()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
我还运行了一些更复杂的程序,例如“Python 任务”一书中的程序。您可以下载游戏文件here。
我跑的另一个小程序是:
import pygame
pygame.init()
img =pygame.image.load('astronaut.png')
display = pygame.display.set_mode((400, 400))
display.blit(img, [0, 0])
pygame.display.update()
最后一个是……
import pygame as pg
import sys
pg.init()
screen = pg.display.set_mode((800,600))
done = False
while not done:
for event in pg.event.get():
if event.type == pg.QUIT:
done = True
pg.display.update()
pg.quit()
sys.exit()
在这些失败之后(程序没有运行),我卸载并再次安装了 pygame 和 pgzero(在 IDLE 和 PyCharm 中)。 3次(没有一个有效)。每次安装后,我都重新启动了计算机。见鬼!我什至尝试通过各种方法安装(如 sudo pip3 install pygame、pip3 install pygame、sudo pip install pygame,最后是 sudo pip3 install pygame)。当我尝试使用 pip3 安装它时,它安装了 pygame,而当我尝试仅使用 pip 时,它也安装了 pygame(这是一个接一个命令完成的)。
我寻求帮助,因为我所有的开发软件/IDE 都支持 pygame(毕竟,它们不会显示任何错误消息)。那会是什么?该代码是从 pygame 文档中复制的,该文档建议使用其中一些 sn-ps 代码来证明 pygame 工作正常。真的,我很绝望,因为我的目标只是让 pygame 工作。
是我对图像的使用不正确吗?但我将文件存储在与图像相同的目录(同一文件夹)中。我按照我的书调用我的图像(这仅适用于之前链接的 Mission Python 文件中的较长程序)
请记住,主要问题是 pygame 已启用但不显示。前面的文字只是我为解决这个问题所做的一些事情。
是不是 brew tap homebrew/headonly 命令不起作用?我还能做些什么来替换这个命令并让 pygame 工作?
【问题讨论】:
-
我在这里没有任何特别的见解可以提供,但我注意到您所遵循的指南已有五年多的历史了。这是软件开发生命周期中的一段很长的时间,所以它可能已经过时了。
标签: python-3.x pygame pycharm python-idle macos-catalina