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

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

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

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

MacOS(OSX)

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

Python

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

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

Q&A

1回答

2527閲覧

MacBookでPygameZeroを動かしたい

kakepro

総合スコア1

Pygame

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

MacOS(OSX)

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

Python

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

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

0グッド

0クリップ

投稿2021/02/14 11:54

編集2021/02/15 13:07

MacBookPro
プロセッサ:2.3 GHz 8コアIntel Core i9 OS:Big Sur バージョン:11.1 を使用しています。
また、Pythonは「Download Python」と書かれているサイト(https://www.python.org/downloads/mac-osx/)から、インストールしました。Pythonのバージョンは3.9.0です。知識がないので、上手く説明できないのですが、ダウンロードでアプリケーションに加わったのは「IDLE」と「Python Launcher」のみです。

【ここからが質問です】
プログラミング雑誌で見かけたPygameZeroに挑戦してみたいと思い、色々調べながらインストールしてみましたがうまく動きません。
具体的にはsample.pyというファイルをデスクトップ上に作成し、
import pgzrun
pgzrun.go()

以上、2行のコードを書いてterminalから実行(python3.9 sample.pyと入力)した際に、
Unable to obtain graphics context for NSWindow (Mojave behavior)
Unable to obtain graphics context for NSWindow (Mojave behavior)

のように出て、それ以上うんともすんとも言いません。(しかも何故か同じメッセージが2行でます)
また、IDLEから実行してもPythonLauncherのロケットのようなアイコンがdockでぴょんぴょん飛び跳ねるだけでやはりうんともすんとも言いません。うまく動けば真っ暗なウインドウが表示される予定でした。
ただ、IDLEでも赤字のERRORメッセージが出るわけではないです。調べてみたところMacOSとPygameZero(Stable版)との互換性が保たれていないのかなと個人的には思いました。

ということで、一度PygameZeroをアンインストールし、terminalからPygameのバージョンを指定して再度インストール(pip3.9 install pygame==2.0.0.dev6 と入力)してみましたが、今度はインストール中に
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
pgzero 1.2 requires pygame<2.0,>=1.9.2, but you have pygame 2.0.0.dev6 which is incompatible.

以上のようなちょっと長めの赤字のERROR文が出ました。なんとなく指定したバージョン2.0.0.dev6というのがpgzero1.2と非互換であるのかなと思いましたが、とりあえず無視して試しにterminal上でsample.pyを実行。すると、
pygame 2.0.0.dev6 (SDL 2.0.14, python 3.9.0)
Hello from the pygame community. https://www.pygame.org/contribute.html
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pgzero/runner.py:2: RuntimeWarning:** use mixer: No module named 'pygame.mixer'**
(ModuleNotFoundError: No module named 'pygame.mixer')
pygame.mixer.pre_init(frequency=22050, size=-16, channels=2)
Traceback (most recent call last):
File "/Users/y.o/Desktop/sample.py", line 1, in <module>
import pgzrun
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pgzrun.py", line 13, in <module>
from pgzero.runner import prepare_mod, run_mod
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pgzero/runner.py", line 2, in <module>
pygame.mixer.pre_init(frequency=22050, size=-16, channels=2)
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pygame/init.py", line 59, in getattr
raise NotImplementedError(missing_msg)
NotImplementedError: mixer module not available (ModuleNotFoundError: No module named 'pygame.mixer')

以上のような文が出て、やはりうまく動きませんでした。個人的には太字にした部分(僕が勝手に太字にしました)が主たる原因なのかなと思い、mixerなるものをterminalからインストール(pip3.9 install mixerと入力)してみましたが、再度試しても結果は変わりませんでした。

色々調べながらやれるだけのことはやってみたのですがどうしても上手くいきませんでした。どなたかアドバイスをいただけると幸いです。また、もしよろしければPygameとPygameZeroとの関係性についても教えていただきたいです。PygameZeroをやりたい場合はPygameをインストールしても上手くいかないのでしょうか。
上手くまとめられず、長文になってしまいました。どうぞよろしくお願いします。

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

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

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

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

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

quickquip

2021/02/15 02:46

とりあえず CPUがなにか(M1かIntelか) と どうやってインストールしたPythonを使っているのか を、質問を編集して追記するのがよいかと思います。
kakepro

2021/02/15 13:09

貴重なアドバイスをどうもありがとうございます。頂いたアドバイスを参考にして質問を編集しました。また、何かお気づきの点があれば教えてください!
guest

回答1

0

MacBook Airでpgzero環境を構築してみました。

◆ macOS Big Sur (Intel Core i7)
11.2.1

◆ Homebrew
3.0.1

◆ Homebrewのbrewコマンドで以下のパッケージをインストール
sdl
sdl_gfx
sdl_image
sdl_mixer
sdl_net
sdl_rtf
sdl_sound
sdl_ttf

◆ Python (Homebrewでインストール)
3.9.1

◆ pipコマンドでpgzeroパッケージをインストール
numpy 1.20.1
pgzero 1.2
pygame 1.9.6

◆ sample.pyの作成

WIDTH = 300 HEIGHT = 300 def draw(): screen.fill((0, 0, 255))

◆ sample.pyの実行

$ pgzrun sample.py
Unable to obtain graphics context for NSWindow (Mojave behavior)
Unable to obtain graphics context for NSWindow (Mojave behavior)

同じ警告が出ますがとりあえずウィンドウが開きました。
イメージ説明

よろしかったら参考にして下さい。

投稿2021/02/15 15:05

編集2021/02/15 15:56
technocore

総合スコア7200

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

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

kakepro

2021/02/16 00:48

ご丁寧な回答どうもありがとうございます。 ただ、アドバイス頂いた通りに色々インストールしてみましたが、僕のPCではウインドウが開きませんでした・・・ sdlパッケージとpgzeroパッケージについては、ターミナルからlistと入力して調べてみたところバージョンも含めて同じものが入っていると思います。逆に余計なものが入っているせいで上手く動作しないということもあるのかもしれませんが、今のところなんともわかりません・・・ 引き続き、色々調べてみようと思います。回答どうもありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問