質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Pygame

Pygameは、ビデオゲームの製作用に設計されたクロスプラットフォームのPythonモジュールセットです。Pythonでコンピューターグラフィックスと音声を扱うためのライブラリが含まれています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

ウィンドウ

コンピューター用語において、ウィンドウとはユーザとプログラムのやり取りを可能にするGUIの枠組みのことをいいます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2192閲覧

macOS Catalina Pygameのウィンドンが現れない

Gosshi

総合スコア1

Pygame

Pygameは、ビデオゲームの製作用に設計されたクロスプラットフォームのPythonモジュールセットです。Pythonでコンピューターグラフィックスと音声を扱うためのライブラリが含まれています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

ウィンドウ

コンピューター用語において、ウィンドウとはユーザとプログラムのやり取りを可能にするGUIの枠組みのことをいいます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/05/10 06:25

編集2020/05/11 05:23

前提・実現したいこと

macOS Catalina Pygameのウィンドウを表示させて矩形を描画させてたいです。

発生している問題・エラーメッセージ

エラーはありません、実行できてますがdisplay?が機能していないのかわかりませんが
ウィンドウが現れません。

エラーメッセージ ターミナルでpip install pygame==2.0.0.dev3 の実行時のエラーです。 ollecting pygame==2.0.0.dev3 Using cached pygame-2.0.0.dev3.tar.gz (3.6 MB) Building wheels for collected packages: pygame Building wheel for pygame (setup.py) ... error ERROR: Command errored out with exit status 1: command: /Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/q0/mtfjv9yn74bgdlwjhjlmfjlc0000gn/T/pip-install-q3qy3e5x/pygame/setup.py'"'"'; __file__='"'"'/private/var/folders/q0/mtfjv9yn74bgdlwjhjlmfjlc0000gn/T/pip-install-q3qy3e5x/pygame/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/q0/mtfjv9yn74bgdlwjhjlmfjlc0000gn/T/pip-wheel-_w2scsyl cwd: /private/var/folders/q0/mtfjv9yn74bgdlwjhjlmfjlc0000gn/T/pip-install-q3qy3e5x/pygame/ ~~~~長いので省きます~~~~ ERROR: Failed building wheel for pygame Running setup.py clean for pygame Failed to build pygame Installing collected packages: pygame Attempting uninstall: pygame Found existing installation: pygame 2.0.0.dev6 Uninstalling pygame-2.0.0.dev6: Successfully uninstalled pygame-2.0.0.dev6 Running setup.py install for pygame ... error ERROR: Command errored out with exit status 1: ~~~割愛します~~~ Rolling back uninstall of pygame Moving to /Library/Frameworks/Python.framework/Versions/3.8/include/python3.8/pygame/ from /Library/Frameworks/Python.framework/Versions/3.8/include/python3.8/~ygame Moving to /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pygame-2.0.0.dev6.dist-info/ from /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/~ygame-2.0.0.dev6.dist-info Moving to /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pygame/ from /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/~ygame ERROR: Command errored out with exit status 1: /Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/q0/mtfjv9yn74bgdlwjhjlmfjlc0000gn/T/pip-install-q3qy3e5x/pygame/setup.py'"'"'; __file__='"'"'/private/var/folders/q0/mtfjv9yn74bgdlwjhjlmfjlc0000gn/T/pip-install-q3qy3e5x/pygame/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/q0/mtfjv9yn74bgdlwjhjlmfjlc0000gn/T/pip-record-kilm5e5q/install-record.txt --single-version-externally-managed --compile --install-headers /Library/Frameworks/Python.framework/Versions/3.8/include/python3.8/pygame Check the logs for full command output. 以上です。切り取り方が下手くそだと思います。申し訳ありません。 ぬけてる情報があれば、ご指摘願います。 ```ここに言語名を入力 Python ### 試したこと すみません初心者なものでなにをしていいのやらと、調べてみましたがよくわかりません。 試してみたこととしては、バージョンの互換性がどうと言った記事をみて pip install pygame==2.0.0.dev3 をターミナルで実行してみましたが、ながながとエラーがでて、wheelがないようなのでインストールしてみたうえで、再び実行してみたところ、今度は、pygame(setup.py)...error とでてきたので、もうわかりません。 助けてください。 ### 補足情報(FW/ツールのバージョンなど) 環境:macOS Catalina ver10.15.4 PyCharmで実行 Python3.8.2 Pygame1.9.6 PyCharmでのソースコード ```ここに言語を入力 import pygame from pygame.locals import * import sys WHITE = (255, 255, 255) BLACK = (0, 0, 0,) def main(): pygame.init() screen = pygame.display.set_mode((800, 600)) pygame.display.set_caption("Pygame no usable") clock = pygame.time.Clock() font = pygame.font.Font(None, 80) tmr = 0 while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() screen.fill(BLACK) tmr = tmr + 1 col = (0, tmr % 256, 0) pygame.draw.rect(screen, col, [100, 100, 600, 400]) sur = font.render(str(tmr), True, WHITE) screen.blit(sur, [300, 200]) pygame.display.update() clock.tick(30) if __name__ == '__main__': main()

足りない情報はお答えできる範囲でお答えしますので、どうかご協力お願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

インストールしてみたうえで、再び実行してみたところ、
今度は、pygame(setup.py)...error とでてきた

この辺りが良く解りませんが、pip でのインストールは成功しましたか?


Issue に報告有りましたが、dev6 だとどうでしょう。

Pygame not compatible with MacOS Mojave #555

Installing pygame 2.0.0.dev6 fixed it for me.
pip3 install pygame==2.0.0.dev6
MacOS Catalina 10.15.2.

Confirming that procedure also works for me on MacOS Catalina 10.15.4

投稿2020/05/10 10:41

teamikl

総合スコア8760

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Gosshi

2020/05/10 23:51

回答ありがとうございます。 pipでのインストールは何回か失敗しましたがなんとか成功しました。 今回ご紹介いただいた方法で試したところ、pip3 ~ .dev6の実行は成功しました。 ありがとうございます。 しかし、本筋であるpygaameのウィンドウが出てきません。 なんども質問して申し訳ありませんが、お助け願います。
teamikl

2020/05/11 02:09

「ソースコード」はどのようになってますか? 気になる点は、「pygame(setup.py)」なのですが、 pygameの前に、通常のPythonのプログラムの実行は正常に出来ていますか? PyCharmからどのように実行したか、 エラーがある場合は、差し支えない範囲で(ユーザー名のディレクトリ等) 質問文の所を編集してエラーログの追加の掲載をお願いします。
Gosshi

2020/05/11 02:43

毎回回答いただき、誠に恐縮です。 本文ですが、こちらになります。
Gosshi

2020/05/11 03:22

毎回回答いただき、誠に恐縮です。 エラーログなのですが、かなり長いものになりますので、割愛させていただきました。 どこを欲しておられるのかわからないので、とりあえず白文字のところと大事そうなところだけ記載させていただきました。 PyCharmでのソースコードはこちらになります。 import pygame from pygame.locals import * import sys WHITE = (255, 255, 255) BLACK = (0, 0, 0,) def main(): pygame.init() screen = pygame.display.set_mode((800, 600)) pygame.display.set_caption("Pygame no usable") clock = pygame.time.Clock() font = pygame.font.Font(None, 80) tmr = 0 while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() screen.fill(BLACK) tmr = tmr + 1 col = (0, tmr % 256, 0) pygame.draw.rect(screen, col, [100, 100, 600, 400]) sur = font.render(str(tmr), True, WHITE) screen.blit(sur, [300, 200]) pygame.display.update() clock.tick(30) if __name__ == '__main__': main() こちらの実行結果は、実行中の間はエラーなしですが、停止するとエラーをはきます。 エラーは /Users/usrname/galaxy/bin/python /Users/usrname/Desktop/py2_samples/Chapter5/galaxy/galaxy.py pygame 1.9.6 Hello from the pygame community. https://www.pygame.org/contribute.html Traceback (most recent call last): File "/Users/usrname/Desktop/py2_samples/Chapter5/galaxy/galaxy.py", line 34, in <module> main() File "/Users/usrname/Desktop/py2_samples/Chapter5/galaxy/galaxy.py", line 31, in main clock.tick(30) KeyboardInterrupt プロセスは終了コード 130 (interrupted by signal 2: SIGINT) で完了しました このようなかんじです。 僕なりの見解なのですが、最後のif文でしょうか? しかし、ウィンドウが現れないところを考えると、pygame.displayのところでしょうか? こちらのソースコードは参考書のものなのですがサンプルコードを実行しても同じでした。 やはりソースコードには問題ないのでしょうか? 質問の重ね掛けしてしまって、本当に申し訳ありません。 とくに急いでませんので、回答お待ちしております。
teamikl

2020/05/11 03:53

pygame.display.update() の呼び出し位置など、 インデントの情報がないと正確なことが解らないので、 コードは質問文への編集お願いします。 (markdown を使って整形してください。コメント内ではできません) ちなみに、黒いウィンドウは表示されるが期待する文字が表示されないといった状況ですか? それともウィンドウ自体が表示されないのでしょうか? > 参考書のものなのですが 2.x 系は比較的新しいのですが、 対象のpygameのバージョン等は1.x になってませんか?
teamikl

2020/05/11 04:07 編集

ログに > pygame 1.9.6 と書かれてますね。 複数バージョンインストールされて、異なるバージョンが読み込まれている? エラーについて、KeyboardInterrupt はこの場合特に問題ありません。(別問題) キーボード入力による割り込みなどで、強制終了した際に出たものです。 追記&訂正 補足情報に Pygame1.9.6 とあったのに気が付きました。pip install pygame2 とあったので、 (状況整理のため質問) 1.9.6 で問題があったので 2.0.0dev をインストールしてみたという経緯ですか?
Gosshi

2020/05/11 05:40

回答ありがとうございます。 コードの追記をさせていただきました。 ウィンドウのことですが、ウィンドウ自体が表示されません。 参考書の図によると1.9.4となってました。 こちらも関係しているのでしょうか? 経緯としては、ウィンドウの表示がうまくいかないことについていろいろしらべていたところ、2.0.0devの実行でうまくいったとあったので、試してみたといったかんじですね。 一度整理してみます。 ・ウィンドウ自体が表示されない(本題です) ・pip install pygame==2.0.0dev3 は失敗したが、pip3 install pygame==2.0.0dev6の実行はうまくいった(試してみたことです) ・pygame1.9.6で実行しているが、参考書は1.9.4だった 返信遅れてすみません。
teamikl

2020/05/11 06:23

1.9.6<=>1.9.4 の違いはひとまず置いておきましょう。 コード自体は win10 ですが、1.9.6/2.0.0dev で動作確認出来ました。 実行方法に問題が無ければ、ここはクリア。 問題点: 2.0.0dev をインストールしたはずが1.9.6 が読み込まれている。 解決案: pygame旧バージョン(1.9.6)のアンインストールですが、 試す事は可能ですか? アンインストールの方法は、以前のpygameのインストールを どのようにしたのか(どこにインストールしたのか)によります。 ---- 他に解決案2 venv によりライブラリ環境をクリーンにした 新たな環境を構築する方法もあります。 ライブラリのバージョンが混在すると面倒なことになるので、 プロジェクトを複数作る様になってきたら、こちらをお勧めします。 必須という訳ではありません。詳しくは「PyCharm 仮想環境」等で検索 ---- > 返信遅れてすみません。 返信は私も通知等は切ってて不定期になるので、お気になさらず。
Gosshi

2020/05/11 06:55

回答ありがとうございます。 解決案1の旧ver pygameのアンインストールですがためしてみます。 しかし、pip install pygame でよいでしょうか? バージョン指定などできますか? インストールはpip3だった気がします。うろ覚えですみません。こちらにも時間がかかったもので(泣 解決案2のライブラリ環境のクリーンについてはピンときてないのですが venvというものじたいを入れ直す感じでよいのですか? ご丁寧にありがとうございます。
teamikl

2020/05/11 08:16

venv は標準で入ってるはずなので、それを用いて構築することになります。 venvについては一旦保留し、まずは案1の方を試してみましょう。 ==== pip3 でインストールしたなら pip3 uninstall ですが、 (※ 環境によっては pip と pip3 の区別が必要な場合もあります) 既に複数バージョン入ってしまっている場合のバージョン指定については、 出来るかどうかわかりません。バージョンの指定方法を探すより 一旦両方アンインストールしてから、dev6を再度入れなおした方が早そうです。 ## 確認項目 * pip3 freeze でインストールされたライブラリの一覧が表示されるので pygame があるか、ある場合は複数バージョンがあるかどうか確認。 * アンインストール後に再度 pip3 freeze を実行して、 アンインストールが正常に行われたかを再確認。を試してみてください。
Gosshi

2020/05/11 10:30

わかりました。 pip3 freeze では以下のような記述でした。 pygame==2.0.0.dev6 このあと pip3 uninstall pygame で実行して、成功しました。 そのうえで、 pip3 install pygame==2.0.0.dev6 を実行しました。 こちらも成功です。 確認項目ですが、正常にアンインストールされていました。 回答者様が1.9.6になっていることに気づかれたことにふと思ったのですが、PyCharmの設定からバージョンを指定できないかと。 試してみたところ、2.0.0.dev8が最新であるそうで、pycharmからインストールできました。 そこで、いちど作り直してみましたが、1.9.6のままでした。 1.9.6そのものを消す方が良いでしょうか?
teamikl

2020/05/11 10:44

実際にコードを実行しているpycharm 側の環境の確認が必要そうですね。 pip3 freeze に pygame==1.9.6 は出てきましたか? ここで表示されないが、実行時にpygame1.9.6が使われる場合は、 PyCharm での実行時に別のPythonの環境を使っている可能性があります。 ==== 実行時に1.9.6が読み込まれているのが問題なので、 まずは 1.9.6 をアンインストールしてみましょう。 インストールした方法がわからなければ、 アンインストールコマンドではなく、 ファイルを探して消去する方法もあります。 import pygame print(pygame) とすると、<module 'pygame' from 'インストールされた場所/ __init__.py'> みたいに表示されるはずです。 この後同様に pip3 freeze で pygame==1.9.6がなくなっていることを確認します。
Gosshi

2020/05/11 11:16

pip3 freeze に pygame==1.9.6はでてきませんでした。 確かに、pythonの導入時にもいろいろ失敗して、いろんな方法を行ってるのでバージョンは複数あります。 import pygame print(pygame) はターミナルで実行でしょうか?それともpycharmですか?
Gosshi

2020/05/11 11:45

ファイルの場所を確認できました。 pygame1.9.6を削除して、pycharmも1から作り直しました。 実行成功しました!! ウィンドウも表示され、矩形も数も描画されてました。 おかげさまでようやく参考書を進められます。 なんだかとてもすっきりしました! ここまでご協力ありがとうございました。
teamikl

2020/05/11 11:53

結果から見ると、原因はPyCharm環境と pip3でインストールした環境が違ったようですね。 解決できたようで良かったです、お疲れ様でした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問