我最近购买了一本新的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()
在我的旧Macbook上,测试代码为我提供了预期的红屏。两种Macbook都在运行python 2.7.10
。
有人知道我在做什么错吗?我想我安装pygame
的方式与在旧Macbook上安装的方式完全一样,唯一的区别似乎是操作系统。
编辑1: 我用Sublime Text编写脚本,然后在Terminal中运行程序。 Screenshot
编辑2: 通过将操作系统降级到macOS High Sierra,再次使pygame正常工作。
答案 0 :(得分:18)
我也在macOS Catalina上遇到此问题。实际上,这是pygame的版本问题。首先,我安装了以下命令:
#!/usr/bin/env node
console.log("Hello World!");
仅显示空白屏幕。但是后来,我使用以下命令更改了版本:
pip3 install pygame
使用此版本,我的问题已解决。运行良好。
答案 1 :(得分:10)
最新的编辑更新工作::从MacOS 10.14.1开始,如果您从python官方页面下载了Python 3.7.2的macOS x64官方安装程序包,然后pip3安装pygame即可。< / p>
MacOS出现问题。应该可以在SDL中进行修复。
pygame问题在这里:https://github.com/pygame/pygame/issues/555
自制问题在这里:https://github.com/Homebrew/homebrew-core/issues/33016
答案 2 :(得分:6)
我已经在 macOS 10.15 Catalina ,Python 3.7.5,PyGame 2.0.0(撰写本文时为预发行版)和PyGame 1.9.6(撰写本文时为稳定版)上对此进行了测试。
首先,转到Pygame的GitHub页面,查看最新的稳定版本。在撰写本文时,PyGame的最新稳定版本是1.9.6,而2.0.0是预发行版。如果您想要最新版本(不稳定/发布,请在下面进行克隆时使用master
),但是如果您想要最新版本,请相应地更改分支。
以下是步骤:
brew install sdl2 sdl2_gfx sdl2_image sdl2_mixer sdl2_net sdl2_ttf
。这需要homebrew。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版本。pip uninstall pygame
(如果pygame
中存在site-packages
目录,然后将其删除:rm -rf pygame*
)git clone https://github.com/pygame/pygame.git
获取最新版本(可能不是稳定版本)。git clone -b v1.9.6 https://github.com/pygame/pygame.git
获取最新信息(稳定,根据您上面的检查,截至本文撰写时v1.9.6
)pygame
目录:cd pygame
。python setup.py --config --auto --sdl2
。python setup.py install
(需要一段时间)。现在PyGame应该可以在macOS上正常工作了。
答案 3 :(得分:5)
我使用macOS Catalina版本10.15.2,Python 3.7.2和pygame 1.9.6遇到了此问题。我已升级到Python 3.8.1,Pygame 2.0.0.dev6,它现在可以按预期运行。
答案 4 :(得分:3)
使用有效的解决方法进行编辑: 见帖子底部
在带有python3.7
和MacOs Mojave的MacBook Pro(视网膜显示屏)上,我遇到了同样的问题。
为了简单起见,我用完全相同的代码和pygame 1.9.4
进行了所有测试。
在(两台)Windows计算机上,该程序可以运行并在:上显示一个红色窗口:
python2.7
python3.6
python3.7
因此,这似乎不是Python版本的问题,我倾向于MacOS Mojave问题。
莫哈维(Mojave)引入了“暗模式”,该模式可自动为窗口着色。禁用黑暗模式时,出现黑屏。启用该功能后,我会看到黑屏。可能是MacOS用pygame
控制屏幕的方式来控制屏幕显示和摆弄吗?这只是一种理论,但我不知道如何测试。
编辑:
我尝试了一个pygame程序,该程序记录并打印您单击的屏幕的位置。它确实在控制台中输出位置,但是它什么都不显示。
除了显示错误外,pygame
似乎可以正常工作。
编辑: 目前,使用miniconda的Python版本和CogSci's pygame似乎可行。
答案 5 :(得分:3)
我尝试将旧的Macbook升级到Mojave操作系统,以查看pygame是否将停止运行,并且做到了!
我猜Mojave与pygame不兼容。
感谢您的帮助!
答案 6 :(得分:3)
我已经尝试了所有方法,但除此之外没有任何效果:
pip install git+https://github.com/pygame/pygame.git
这将安装pygame的技巧。它为我工作。试试看。
答案 7 :(得分:1)
我在以下环境中遇到了这个问题:Python 3.7,Mojave 10.14.2,Pygame 1.9.4
我发现降级到Python 3.6可以解决此问题
$ brew unlink python
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb
应该可以解决此问题,如果遇到循环依赖问题,则应运行:
$ brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb
https://apple.stackexchange.com/questions/329187/homebrew-rollback-from-python-3-7-to-python-3-6-5-x上的详细信息
答案 8 :(得分:0)
我遇到了同样的问题,将python降级到3.6.5可以正常工作。
> brew unlink python brew install --ignore-dependencies
> https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb
> brew switch python 3.6.5_1 pip3 install pygame
如果您已经安装了python 3.6.5,我想您可以只使用switch。
答案 9 :(得分:0)
某些Mac需要更新。如果转到系统偏好设置并转到软件更新,则可以尝试更新以查看是否需要任何更新。更新时,您可以检查代码是否现在可以正常工作,因为看起来您的代码正确无误。