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

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

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

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Pygame

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

Python 3.x

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

Q&A

解決済

1回答

1895閲覧

モジュールインポート時のエラー[pygame]

退会済みユーザー

退会済みユーザー

総合スコア0

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Pygame

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

Python 3.x

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

0グッド

0クリップ

投稿2018/09/17 04:14

編集2018/09/17 04:28

前提・実現したいこと

モジュールのインポート時のエラーについて理解を深めて、解決し学習を先へ進めたい。

学習書籍:ゲームを作りながら楽しく学べるPYTHONプログラミング
上記書籍を参考に画面表示のプログラムを書いているのですが、
モジュールのインポート時に下記のエラーが表示され、学習が進まずに困っています。

調べたところpipでインストールされている場所と実行時の読み取りに行っている場所が違う(?)という可能性があることがわかりました。

サイトや過去の質問を参照しながらディレクトリをごっそりうつせばよいということで
インストール先まで潜ってみましたがpygameらしきものが見当たらず次に何をすればよいのかわからない状況です。
hogehoge:lib hoge$ ls
libpython3.6m.a pkgconfig python3.6

独学で進めておりコマンドラインや知識も浅く恥ずかしいのですがあまりに時間を割きすぎており学習が進まないため質問させていただきました。よろしくお願い致します。

※追記
Jupyter notebookでのみ module import errorが起こるときの簡単な解決方法
こちらの内容を参照して実行したところ、下記エラーが表示されるようになりました。
pygame 1.9.4
Hello from the pygame community. https://www.pygame.org/contribute.html
An exception has occurred, use %tb to see the full traceback.

SystemExit

/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/IPython/core/interactiveshell.py:2969: UserWarning: To exit: use 'exit', 'quit', or Ctrl-D.
warn("To exit: use 'exit', 'quit', or Ctrl-D.", stacklevel=1)

また、ウィンドウは表示されるものの、ウィンドウを×印で消そうとするとカーソルがぐるぐる回ってしまい、強制終了を余技なくされてしまいます。

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

Atomエディタのatom-runnerで実行時に下記エラーが表示されます。

Traceback (most recent call last):
File "/Users/yoshi/Desktop/pygame.py", line 3, in <module>
import pygame
File "/Users/yoshi/Desktop/pygame.py", line 4, in <module>
from pygame.locals import QUIT
ModuleNotFoundError: No module named 'pygame.locals'; 'pygame' is not a package

該当のソースコード

python3

1''' justwindow.py ''' 2import sys 3import pygame 4from pygame.locals import QUIT 5 6pygame.init() 7 8SURFACE = pygame.display.set_mode((400, 300)) 9pygame.display.set_caption("Just Window") 10 11def main(): 12 ''' main routine ''' 13 while True: 14 SURFACE.fill((255, 255, 255)) 15 16 for event in pygame.event.get(): 17 if event.type == QUIT: 18 pygame.quit() 19 sys.exit() 20 21 pygame.display.update() 22 23if __name__ == '__main__': 24 main() 25

試したこと

●pygameのインストール先を確認
pip show pygame
Location: /Users/hoge/.pyenv/versions/3.6.5/lib/

●見に行ってる場所の確認
import sys
sys.path
['',
'/Users/hoge/Desktop/jupyter',
'/Library/Frameworks/Python.framework/Versions/3.7/lib/python37.zip',
'/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7',
'/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload',
'/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages',
'/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/IPython/extensions',
'/Users/hoge/.ipython']

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

使用ツール:
Atom(atom-runner)
jupyter notebook(こちらも同様のエラー)
pyenv

参考情報:
jupyter notebookでのmoduleインストール

pipでインストールしたパッケージの場所を調べる

pythonでインストールされているのにインポートできません。

pipでインストールしたのにjupyter notebookでパッケージがimport出来ない問題

インストールしたはずのMuduleが「No module named '***'」になったときの解決策

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

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

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

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

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

guest

回答1

0

ベストアンサー

ひょっとしてpygame.pyというファイル名でコードを書いていませんか?
自分自身をimportしようとしているように見えます。

ファイル名を変更してみてください。

投稿2018/09/17 04:22

LouiS0616

総合スコア35658

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

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

退会済みユーザー

退会済みユーザー

2018/09/17 04:44

LouiS0616様 仰る通りたしかにpygame.pyで記述しておりました。 回答を待っている間にjupyter上で!pip install pygame を実行したところWindowは表示されるようになりましたが×印を押すとカーソルが回り正常に終了できません。 現在ファイル名を変更しAtom側では表示されたWindowを×で消しても正常に終了されることを確認しておりますが、jupyter上で強制終了するしかないのは!pip install pygameで二重でインストールしてしまったせいでしょうか、、。
LouiS0616

2018/09/17 04:51

sys.exit() を return に置き換えるとどうなりますか?
退会済みユーザー

退会済みユーザー

2018/09/17 05:57

早速の返信ありがとうございます。 returnに置き換えてみましたが jupyter notebook上の挙動は変わりませんでした。 Atom上だと問題なく動作しているようです。
LouiS0616

2018/09/17 06:37

Just Window の画面は何色になっていますか?
退会済みユーザー

退会済みユーザー

2018/09/17 06:46

Just WindowはSURFACE.fill((255, 255, 255))こちらの通り、白になっています。 起動までは問題なくできておりJupyter上では下記メッセージが表示されています。 pygame 1.9.4 Hello from the pygame community. https://www.pygame.org/contribute.html jupyter上の起動のさせ方に問題があるのでしょうか。 セルを選んでRunのみで行っています。
LouiS0616

2018/09/17 06:55

SystemExitが出るのは想定内なので問題ないです。 『×印で消そうとするとカーソルがぐるぐる回ってしまい』という現象はまだ起きているのでしょうか?
退会済みユーザー

退会済みユーザー

2018/09/17 07:14

度々返信いただきありがとうございます。 sys,exit() returnともに X印で消そうとする際のカーソルが回る現象は続いております。 jupyterを再起動して試したりもしていますが変わらないようです。
LouiS0616

2018/09/17 07:36 編集

うーん... 私の環境では問題なく動くのです。 ・Windows10 ・conda 4.5.9 ・Python 3.6.6 ・Jupyter 1.0.0 ・pygame 1.9.3 pygame.quitでヘタっているような気もします。
退会済みユーザー

退会済みユーザー

2018/09/17 08:06

LouiS0616様 ご丁寧にありがとうございます。 環境を書いた方がよかったですね。 ・mac OS High Sierra Ver 10 ・pygame 1.9.4 ・Pyrthon 3.6.5 ・jupyter 4.4.0 ・PyCharm SE その他環境構築時によくわからずHomebrewやpyenvなど様々なものを入れており、そういったことも関係しているかもしれません。 とりあえず私の環境で起きており、コード自体に特別問題があるわけではないことが特定できたのでよかったです。 かろうじてAtomの方では進めていけそうですのでこれから学習を進め、理解を深めてから環境も整理して再度チャレンジしてみようと思います。 感謝しております。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問