最近、新しい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が再び動作するようになりました。
古いMacbookをOS Mojaveにアップグレードして、pygameが動作しなくなるかどうかを確認しましたが、うまくいきました!
Mojaveは(まだ)pygameと互換性がないと思います。
助けてくれてありがとう!
最新の編集更新作業::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
回避策で編集:投稿の下部を参照
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 は動作しているようです。
次の環境でこの問題に遭遇しました: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を使用するだけでよいと思います。