Проблемы с отображением Pygame на Macos Mojave, кроме пустого экрана - PullRequest
0 голосов
/ 09 октября 2018

Я недавно купил новый 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 тестовый код выдает мне красный экран, как и ожидалось.Оба макбука работают python 2.7.10.

Кто-нибудь знает, что я делаю не так?Я думаю, что я установил pygame точно так же, как и на своем старом macbook, и единственное отличие, похоже, заключается в операционной системе.

edit 1: я пишу скрипт в Sublime Text и запускаю программу в Terminal. Снимок экрана

edit 2: Я снова начал работать с pygame, опустив свою операционную систему до macOS High Sierra.

Ответы [ 5 ]

0 голосов
/ 12 июня 2019

У меня возникла та же проблема, она заработала, понизив 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.

0 голосов
/ 12 февраля 2019

Я столкнулся с этой проблемой в следующей среде: 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

0 голосов
/ 10 октября 2018

Я попытался обновить мой старый macbook до ОС Mojave, чтобы посмотреть, перестанет ли работать pygame, и это сработало!

Думаю, Мохаве не совместим с pygame (пока).

Спасибо за помощь!

0 голосов
/ 16 октября 2018

ПОСЛЕДНИЕ РАБОТЫ ОБ ОБНОВЛЕНИИ РЕДАКТИРОВАНИЯ: : из MacOS 10.14.1, если вы загружаете официальный установочный пакет MacOS x64 для Python 3.7.2 со официальной страницы python, а затем устанавливаете pyg3 для pip3, он работает.

Есть проблема с MacOS.Должно быть возможно исправить в SDL.

Проблема с пигамей здесь: https://github.com/pygame/pygame/issues/555

Вопрос о домашнем пиве здесь: https://github.com/Homebrew/homebrew-core/issues/33016

0 голосов
/ 10 октября 2018

Редактирование с рабочим обходным путем: см. Нижнюю часть сообщения


У меня такая же проблема на MacBook Pro (Retina Display) с python3.7 и MacOs Mojave.Для простоты я выполнил все свои тесты с точно таким же кодом и pygame 1.9.4.

На (двух) компьютерах с Windows программа работает и отображает красное окно на:

  • python2.7
  • python3.6
  • python3.7

Следовательно, это не кажется проблемой версии Python, я склоняюсь кMacOS Mojave.

Mojave представил 'Dark mode', который автоматически подкрашивает окна.Когда темный режим отключен, я получаю пустой экран.Когда он включен, я получаю темный экран.Может ли быть так, что MacOS берет на себя управление отображением на экране и управляет тем, как pygame управляет экраном?Это просто теория, но я не знаю, как это проверить.


Редактировать: Я попробовал программу Pygame, которая записывает и печатает положение экрана, на котором выщелкнул.Он выводит позицию в консоли, увы, ничего не отображает.Помимо неисправного дисплея, pygame, кажется, работает должным образом.


Редактировать: На данный момент используется версия Python из miniconda и Пигмент CogSci , кажется, работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...