Ответ 1
Я попробовал обновить свой старый macbook до ОС Mojave, чтобы посмотреть, перестанет ли работать pygame, и так оно и было!
Я думаю, что Mojave не совместим с pygame (пока).
Спасибо за помощь!
Недавно я купил новый 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 и запускаю программу в терминале. Скриншот
изменить 2: я снова заработал Pygame, понизив мою операционную систему до MacOS High Sierra.
Я попробовал обновить свой старый macbook до ОС Mojave, чтобы посмотреть, перестанет ли работать pygame, и так оно и было!
Я думаю, что Mojave не совместим с pygame (пока).
Спасибо за помощь!
ПОСЛЕДНИЕ РЕДАКТИРОВАТЬ ОБНОВЛЕНИЕ РАБОТАЮТ:: из MacOS 10.14.1, если вы загрузите официальный установочный пакет macOS x64 Python 3.7.2 со официальной страницы python, а затем установите pip3 и установите pygame, это сработает.
Там проблема с MacOS. Должно быть возможно исправить в SDL.
Проблема с Pygame находится здесь: https://github.com/pygame/pygame/issues/555
Вопрос о домашнем пиве здесь: https://github.com/Homebrew/homebrew-core/issues/33016
Изменить с помощью рабочего обходного пути: см. Нижнюю часть сообщения
Я получаю ту же проблему на MacBook Pro (Retina display) с python3.7
и MacOs Mojave. Ради простоты я выполнил все свои тесты с помощью того же кода и pygame 1.9.4
.
На (двух) компьютерах Windows программа работает и показывает красное окно:
python2.7
python3.6
python3.7
Следовательно, это не похоже на проблему с версией Python, я склоняюсь к проблеме MacOS Mojave.
Мохаве представил "Темный режим", который автоматически подкрашивает окна. Когда темный режим отключен, я получаю пустой экран. Когда он включен, я получаю темный экран. Может ли это быть, что MacOS берет под свой контроль экранный экран и возится с тем, как pygame
управляет экраном? Это просто теория, но я не знаю, как ее проверить.
Изменить: я попробовал программу pygame, которая записывает и печатает позицию экрана, на который вы нажали. Он выводит положение в консоли, увы, он ничего не отображает. Помимо неисправного дисплея, pygame
работает нормально.
Изменить: На данный момент, похоже, работает версия Python от miniconda и с помощью Pygame CogSci.
Я столкнулся с этой проблемой в следующей среде: 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
У меня была та же проблема, заставил ее работать путем понижения 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.