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

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

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

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

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Python

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

Q&A

解決済

1回答

6944閲覧

Pygame zeroにおけるimport pgzrunのエラー表示をなくすためには

退会済みユーザー

退会済みユーザー

総合スコア0

Pygame

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

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Python

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

1グッド

0クリップ

投稿2020/07/22 11:33

前提・実現したいこと

Pythonで簡単なゲームを作ろうとしています

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

vc codeにおいて冒頭に「import pgzrun」と入力し、終わりを「pgzrun.go()」で閉じてファイルを作成し、実行したところ以下のメッセージが出てきました。
以下のエラーメッセージが出てきました。

エラーメッセージ ```File "/Users/わたしの名前/Downloads/import pgzrun.py", line 1, in <module> import pgzrun ModuleNotFoundError: No module named 'pgzrun' ### 該当のソースコード ```ここに言語名を入力 ソースコード

import pgzrun

WIDTH = 800

HEIGHT = 600

   def draw():

   screen.clear()

   screen.draw.circle((400, 300), 30, 'white')

pgzrun.go()```

試したこと

ターミナルでは、pgzero Pygame python3.8.4が現行のバージョンでインストールされています。

あるpygame zeroのサイトでは以下のような案内があります↓
「しかし IDLE や Edublocks などの IDE 上からは python だと実行できますが、 pgzrun は実行できません。

Pygame Zero は python を使い、普通の Python プログラムとして実行する方法も提供しています。そうするにはまず、プログラムの冒頭に次の行を追加します」

ここに問題に対して試したことを記載してください。

IDLEではできないということで、vc codeをダウンロードして冒頭にimport pgzrunと入力しましたが、ダメでした。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

teamikl👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

File "/Users/わたしの名前/Downloads/import pgzrun.py", line 1, in <module>

ファイル名の所にコードが書かれてます?

出来れば、ファイル名はスペースを含まないようにしてください。
直接今回のエラー原因ではありませんが、他の問題に繋がります。

仮にファイル名 my_program.py として保存します。

まずはターミナルで動作確認、
python my_program.py として実行して見て下さい。
python の部分は環境に合わせて、ライブラリをインストールした環境のモノを使います。

ModuleNotFoundError: No module named 'pgzrun'
ターミナルでは、pgzero Pygame python3.8.4が現行のバージョンでインストールされています。

(確認)
何処にインストールして、
どのようにインストールされたことを確認しましたか?

インストール済みで ModuleNotFoundError が出る場合、IDEからは
ライブラリがインストールされてない環境のPythonが使われてます。

確認手順:

  • pgzeroが何処にインストールされたか確認しましょう
  • Pythonのバージョンを確認した後に、
  • ターミナルで python -c "import pgzrun"
  • IDLE等であれば、対話モードのところに import pygrun と打ち込んでみてください。

※ pgzrunは使い方が特殊なモジュールで、
Pythonファイル内から import されるのを想定していて、
そうでない場合は ImportError を出します。

ここで確認したいのは、pgzrunがインストールされているかどうかなので、
(対話環境では)ImportError が出るのが期待した動作です。
モジュールが見つからない場合は、ModuleNotFoundError が出ます。

対処方法:

  • VS code であれば環境切り替えができるはずです。
  • IDLE の場合は、ライブラリがインストールされた環境の IDLE を開きます
    python -m idlelib で IDLEを起動

IDLEではできないということで、vc codeをダウンロードして冒頭にimport pgzrunと入力しましたが、ダメでした。

IDE (IDLE や VS Code)で実行する場合の案内です。

詳細:
PyGame Zero のコードは、pgzrun コマンドにより実行するので
IDEで実行する場合は、実行時のコマンドを適切に設定する必要があります。

上記の import pgzrunpgzrun.go() というのは、
PyGame Zero を使ったスクリプトを python コマンドで実行する場合の対応方法です。

投稿2020/07/22 19:02

編集2020/07/22 19:03
teamikl

総合スコア8664

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

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

退会済みユーザー

退会済みユーザー

2020/07/23 08:39

teamiklさま 詳細にご回答いただきありがとうございます。 これから始めるという時に環境構築で困っておりますが、いくつかお聞きしたいことがあります。 1、何処にインストールして、 どのようにインストールされたことを確認しましたか? わたしはターミナルで「pip install pgzero」と「pip install pygame」とインストールしましたが、それで完了ではないのでしょうか?今「which -a pygame」で、どこにあるかを入力したところ「pygame not found」と表示されましたが、これはインストールされてないということですか?pgzeroも同じでした。 2、 IDLEとターミナルでのpythonバージョンが違っていますが、これはトラブルの原因になりますか?       わたしのIDLEでは、3.8.5(今日改めてインストールしました)   ターミナルでは3.8.2になっています。   これは、このままでもいいのでしょうか? 3、ファイル名の所にコードが書かれてます?      ファイル名を「pgzrun.py」にしてターミナルで「python pgzrun.py」  で試した所、「No such file or directory」ということで存在しないようなエラーがでました 4、最後に・・・ターミナルで以下のように入力するとこのようなメッセージが出てきます。 pip install pygameの場合 「Requirement already satisfied: pygame in ./.pyenv/versions/3.8.2/lib/python3.8/site-packages (1.9.6)」 pip install pgzeroの場合 「Requirement already satisfied: pygame<2.0,>=1.9.2 in ./.pyenv/versions/3.8.2/lib/python3.8/site-packages (from pgzero) (1.9.6) Requirement already satisfied: numpy in ./.pyenv/versions/3.8.2/lib/python3.8/site-packages (from pgzero) (1.19.0)」 長々と質問しまして大変恐縮ではありますが、これからプログラミングをやっていきたいと思っていて諦めようとは思っていません。どうかお付き合いのほど宜しくお願いします。
teamikl

2020/07/24 03:10

1. > 今「which -a pygame」で、どこにあるかを入力したところ「pygame not found」と表示されましたが、これはインストールされてないということですか?pgzeroも同じでした。 これは witch コマンドの誤用です。インストールしたのは python のライブラリです。 "pygame" や "pgzero" というコマンドをインストールした訳ではないので問題ありません。 インストールした情報は以下の様に確認します pip show pygame pip show pgzero ---- 2. IDLEとターミナルでのpythonバージョンが違っていますが、これはトラブルの原因になりますか? バージョン違い自体はそのものは問題ありませんが、 ライブラリがインストールされた環境違う事が問題になります。 環境が異なる場合 ターミナルでインストールしたライブラリを使うには、ターミナルからその環境のpythonを使います。 IDLE上で使いたい場合は、2通り - IDLE環境を調べ、その環境にライブラリをインストールする - ターミナルの環境の IDLE を開く python -m idlelib ---- 3. ファイル名の所にコードが書かれて これはファイル名が「 "/Users/わたしの名前/Downloads/import pgzrun.py"」となっていたので、 「import pgzrun」というコードをファイル名にしてるのかと思いました。 スペース等は問題を起こしやすいので避けた方が良いです。    >  ファイル名を「pgzrun.py」にしてターミナルで「python pgzrun.py」 > で試した所、「No such file or directory」ということで存在しないようなエラーがでました モジュール名と同じファイル名にするとインストール時トラブルになります。 自分で書くプログラムのファイル名は、任意でいいのですが とりあえずpygame zeroのチュートリアルに合わせて my_program.py としてください。 ---- 4、最後に・・・ターミナルで以下のように入力するとこのようなメッセージが出てきます。 インストール済みです、とでてます。 原因は、IDLE環境とターミナル環境が違う事みたいですね。 ファイル名を my_program.py として、回答に書いた、以下をお試しください。 > まずはターミナルで動作確認、 > python my_program.py として実行して見て下さい。 普段使っている IDLE 環境で使いたい場合は、 まず IDLE 環境の python が何処にあるかを調べましょう。 対話モードに打ち込んでみてください >>> import sys >>> sys.executable
退会済みユーザー

退会済みユーザー

2020/07/25 10:42 編集

teamiklさま ご回答ありがとうございます。 本当は、ここが原因!というのが自分でわかった上で解決したかったのですが、そうもいかず、あれよあれよとできてしまいました。 ご回答いただき本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問