让pygame在Macos Mojave上显示除空白屏幕之外的任何问题

Bou*_*aas 16 macos pygame python-2.7

我最近买了一个新的macbook,我一直在努力pygame工作,但还没有成功.我变得非常绝望,我真的可以使用一些帮助.

我已安装pygame 1.9.4,即使我在运行pygame代码时没有收到任何错误消息,它也不会显示任何内容,只有空白屏幕.我正在使用以下代码来测试它:

import pygame
pygame.init()

screen = pygame.display.set_mode((800,600))

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            quit()

    screen.fill((255,0,0))
    pygame.display.update()

pygame.quit()
Run Code Online (Sandbox Code Playgroud)

在我的旧Macbook上,测试代码给了我一个预期的红色屏幕.两个macbook都在运行python 2.7.10.

有谁知道我做错了什么?我认为我安装的方式pygame与我在旧Macbook上完全一样,唯一的区别似乎是操作系统.

编辑1:我在Sublime Text中编写脚本并在Terminal中运行程序. 截图

编辑2:我通过将操作系统降级为macOS High Sierra让pygame再次工作.

Raf*_*ael 24

macOS 10.15 Catalina, Python 3.7.5, PyGame 2.0.0(在撰写本文时预发布) 和PyGame 1.9.6(在撰写本文时稳定)上进行了测试和工作。

最初,您需要决定是想要稳定版本还是预发布(不稳定)。如果您决定使用最新的(可能是预发布的/不稳定的),那么只需忽略第一步(“1. 找到最新的稳定发布版本”)并master在第二步的第 4 步使用分支(“2. 安装 PyGame从源”)。

1. 找到最新的稳定发布版本

在此处转到 PyGame 的 GitHub 页面:

在此处输入图片说明

正如您在撰写本文时所看到的,最新的稳定版本是1.9.6我们保留此标签名称以备后用。

2. 在 macOS 上从源码安装 PyGame

  1. 安装一些依赖项brew install sdl2 sdl2_gfx sdl2_image sdl2_mixer sdl2_net sdl2_ttf。这需要自制软件
  2. 前往site-packages
    • 对于虚拟环境中cd ~/.virtualenvs/myvirtualenv/lib/python3.X/site-packages那里~/.virtualenvs/myvirtualenv是通向你的虚拟环境,并python3.X为你的Python版本。
    • 对于整个系统的安装去/usr/local/lib/python3.X/site-packages哪里python3.X是你的Python版本。
  3. 删除任何先前的pygame的,pip uninstall pygame(如果pygame目录中存在site-packages,然后将其删除:rm -rf pygame*
  4. 从 GitHub 克隆 PyGame:
    • git clone https://github.com/pygame/pygame.git 最新的(可能不是稳定版本)。
    • git clone -b 1.9.6 https://github.com/pygame/pygame.git --single-branch最新的(1.9.6是最新稳定版本的标签名称,在撰写本文时,请参阅“查找上面的最新稳定版本”)
  5. 进入新克隆的pygame目录:cd pygame.
  6. 运行python setup.py --config --auto --sdl2
    • 如果你的问题与此命令,一些用户下文提到,单连字符为他们工作,所以尝试:python setup.py -config -auto -sdl2
    • 如果您遇到有关 Python2/3 的任何问题并且您的目标是 Python3,请尝试更改python setup.py --config --auto --sdl2python3 setup.py --config --auto --sdl2.
  7. 运行python setup.py install(需要一段时间)。
    • 如果您遇到有关 Python2/3 的任何问题并且您的目标是 Python3,请尝试更改python setup.py --config --auto --sdl2python3 setup.py --config --auto --sdl2.

现在 PyGame 应该可以在 macOS 上按预期工作了。

  • 在我的 osx (10.15.2) 上,我应该使用: python setup.py -config -auto -sdl2 。有关详细信息,请。参考:https://www.pygame.org/wiki/MacCompile (5认同)

小智 18

我在 macOS Catalina 上也遇到了这个问题。其实是pygame的版本问题。首先,我使用以下命令安装:

pip3 install pygame

只显示一个空白屏幕。但后来,我使用以下命令更改了版本:

pip3 install pygame==2.0.0.dev4
Run Code Online (Sandbox Code Playgroud)

有了这个版本,我的问题就解决了。它工作得很好。


Ren*_*eld 12

最新编辑更新工作::从MacOS 10.14.1,如果您从官方python页面下载Python 3.7.2的官方macOS x64安装程序包,然后pip3安装pygame它可以工作.

MacOS存在问题.应该可以在SDL中修复.

pygame问题在这里:https://github.com/pygame/pygame/issues/555

自制问题在这里:https://github.com/Homebrew/homebrew-core/issues/33016

  • 尝试使用Mojave(MacOS 10.14.3)和pygame 1.9.4的第三版,通过Python 3.7.3形成其[官方网站](https://www.python.org/downloads/)。 /我曾在macOS 10.14.1上尝试过3.7.2,但没有任何更好的结果。还有其他人能够使它正常工作吗? (2认同)

小智 5

我在使用 macOS Catalina 10.15.2、Python 3.7.2 和 pygame 1.9.6 时遇到了这个问题。我升级到 Python 3.8.1、Pygame 2.0.0.dev6,现在按预期工作。


Bou*_*aas 3

我尝试将我的旧 MacBook 升级到 OS Mojave,看看 pygame 是否会停止工作,结果确实如此!

我猜 Mojave 与 pygame 不兼容(还)。

谢谢您的帮助!