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

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

ただいまの
回答率

90.37%

  • Python 3.x

    10767questions

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

  • Atom (テキストエディタ)

    679questions

  • Jupyter

    498questions

  • Pygame

    34questions

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

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,153

yoshibot

score 1

 前提・実現したいこと

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

学習書籍:ゲームを作りながら楽しく学べる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

 該当のソースコード

''' justwindow.py '''
import sys
import pygame
from pygame.locals import QUIT

pygame.init()

SURFACE = pygame.display.set_mode((400, 300))
pygame.display.set_caption("Just Window")

def main():
    ''' main routine '''
    while True:
        SURFACE.fill((255, 255, 255))

        for event in pygame.event.get():
            if event.type == QUIT:
                pygame.quit()
                sys.exit()

        pygame.display.update()

if __name__ == '__main__':
    main()

 試したこと

●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 '***'」になったときの解決策

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/09/17 16:14

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

    キャンセル

  • 2018/09/17 16:35 編集

    うーん... 私の環境では問題なく動くのです。
    ・Windows10
    ・conda 4.5.9
    ・Python 3.6.6
    ・Jupyter 1.0.0
    ・pygame 1.9.3

    pygame.quitでヘタっているような気もします。

    キャンセル

  • 2018/09/17 17: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の方では進めていけそうですのでこれから学習を進め、理解を深めてから環境も整理して再度チャレンジしてみようと思います。
    感謝しております。

    キャンセル

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

  • ただいまの回答率 90.37%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • Python 3.x

    10767questions

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

  • Atom (テキストエディタ)

    679questions

  • Jupyter

    498questions

  • Pygame

    34questions