web-dev-qa-db-ja.com

Macos 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を実行しています。

誰かが私が間違っていることを知っていますか?古いMacbookで行ったのとまったく同じようにpygameをインストールしたと思いますが、唯一の違いはオペレーティングシステムのようです。

編集1:Sublime Textでスクリプトを記述し、ターミナルでプログラムを実行します。 スクリーンショット

編集2:オペレーティングシステムをmacOS High Sierraにダウングレードすることで、pygameが再び動作するようになりました。

16
Boudewijn Maas

古いMacbookをOS Mojaveにアップグレードして、pygameが動作しなくなるかどうかを確認しましたが、うまくいきました!

Mojaveは(まだ)pygameと互換性がないと思います。

助けてくれてありがとう!

2
Boudewijn Maas

最新の編集更新作業::MacOS 10.14.1から、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

12
René Dudfield

回避策で編集:投稿の下部を参照


MacBook Pro(Retinaディスプレイ)でpython3.7およびMacOs Mojave。簡単にするために、まったく同じコードとpygame 1.9.4

(2台の)Windowsコンピューターでは、プログラムが機能し、赤いウィンドウが表示されます:

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

したがって、それはPythonバージョンの問題ではないようです。私はMacOS Mojaveの問題に傾いています。

Mojaveは、ウィンドウを自動的に色付けする「ダークモード」を導入しました。ダークモードを無効にすると、空白の画面が表示されます。有効にすると、画面が暗くなります。 MacOSが画面の表示を制御し、pygameが画面を制御する方法をいじるのでしょうか。これは単なる理論ですが、テスト方法はわかりません。


編集:クリックした画面の位置を記録および印刷するpygameプログラムを試しました。コンソールの位置を出力しますが、残念ながら何も表示しません。障害のある表示とは別に、pygameは正常に機能しているようです。


編集:とりあえず、Pythonバージョンの miniconda を使用し、 CogSciのpygame は動作しているようです。

3
adam

次の環境でこの問題に遭遇しました: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

1
BeatBreaker82

同じ問題がありましたが、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