macos python-2.7 pygame

Problemas para hacer que Pygame muestre algo más que una pantalla en blanco en Macos Mojave



python-2.7 (5)

Hace poco compré un nuevo macbook y he intentado sin fin que pygame funcione, pero aún no he tenido éxito. Me estoy volviendo bastante desesperado y realmente podría necesitar algo de ayuda.

He instalado pygame 1.9.4 y, aunque no recibo ningún mensaje de error al ejecutar el código de pygame , no pygame nada más que una pantalla en blanco. Estoy usando el siguiente código para probarlo:

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()

En mi viejo macbook, el código de prueba me da una pantalla roja como se esperaba. Ambos macbooks están ejecutando python 2.7.10 .

¿Alguien tiene alguna idea de lo que estoy haciendo mal? Creo que instalé pygame exactamente como lo hice en mi viejo macbook y la única diferencia parece ser el sistema operativo.

edición 1: escribo el script en Sublime Text y ejecuto el programa en Terminal. Screenshot

edición 2: Conseguí que Pygame volviera a funcionar al degradar mi sistema operativo a macOS High Sierra.


Intenté actualizar mi viejo macbook a OS Mojave para ver si Pygame dejaría de funcionar, ¡y así fue!

Supongo que Mojave no es compatible con pygame (todavía).

¡Gracias por la ayuda!


Me encontré con este problema con el siguiente entorno: Python 3.7, Mojave 10.14.2, Pygame 1.9.4

Encontré que la degradación a Python 3.6 soluciona el problema

$ brew unlink python $ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb

Eso debería arreglarlo, si tienes un problema de dependencia circular, deberías ejecutar:

$ brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb

Detalles en https://apple.stackexchange.com/questions/329187/homebrew-rollback-from-python-3-7-to-python-3-6-5-x


Tuve el mismo problema, lo hice funcionar bajando la versión de Python a 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

Si ya tiene la instalación de Python 3.6.5, supongo que solo puede usar el interruptor.


ACTUALIZACIÓN DE LA ÚLTIMA EDICIÓN FUNCIONANDO:: desde MacOS 10.14.1, si descarga el paquete de instalación oficial de macOS x64 de Python 3.7.2 desde la página oficial de python y luego pip3 instala pygame, funciona.

Hay un problema con MacOS. Debería ser posible arreglarlo en SDL.

El problema de pygame está aquí: https://github.com/pygame/pygame/issues/555

El problema de homebrew está aquí: https://github.com/Homebrew/homebrew-core/issues/33016


Editar con la solución de trabajo: ver la parte inferior de la publicación

Tengo el mismo problema en un MacBook Pro (pantalla Retina) con python3.7 y MacOs Mojave. En aras de la simplicidad, hice todas mis pruebas con exactamente el mismo código y pygame 1.9.4 .

En (dos) computadoras con Windows, el programa funciona y muestra una ventana roja en:

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

Por lo tanto, no parece ser un problema de versión de Python, me inclino por un problema de MacOS Mojave.

Mojave introdujo el ''Modo oscuro'' que automáticamente tiñe las ventanas. Cuando el modo oscuro está deshabilitado, aparece una pantalla en blanco. Cuando está habilitado, aparece una pantalla oscura. ¿Podría ser que MacOS tome el control de la visualización de la pantalla y los problemas con la forma en que pygame controla la pantalla? Es solo una teoría pero no sé cómo probarlo.

Edición: probé un programa de pygame que registra e imprime la posición de la pantalla en la que hizo clic. Da salida a la posición en la consola, por desgracia no muestra nada. Aparte de la pantalla defectuosa, pygame parece funcionar correctamente.

Edición: por ahora, el uso de la versión Python de miniconda y el uso de Pygame de CogSci parece funcionar.