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

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

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

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

Q&A

解決済

2回答

1843閲覧

import pygame の入ったファイル をコマンドから実行したい

andouroid

総合スコア12

Python 3.x

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

0グッド

0クリップ

投稿2018/05/13 11:12

前提・実現したいこと

import pygame の入ったファイル をコマンドから実行したい

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

はじめして。

現在、"ゲームを作りながら楽しく学べる Pythonプログラミング"
という本でpythonを学んでいます。

import pygameで、問題が発生し、解決策が見つかりません。

以下のコードを
テキストエディタAtomのatom runnerおよび
Idleから開いて実行する場合には
正常に実行されるのですが、
コマンドからファイルを指定して実行しようとすると
Module NotFoundError: No module named 'pygame'
とインポートエラーが出てしまい、実行されません。

しかし、pygameを再度インストールしようとしても、

Requirement already satisfied: pygame in c:\users######\appdata\local\programs\python\python36-32\lib\site-packages
You are using pip version 9.0.1, however version 10.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

とメッセージが出るだけで、不具合が生じているようには見えません。

コマンドからimport pygameの入ったファイルを実行する方法を教えてください。

エラーメッセージ

ModuleNotFoundError: No module named 'pygame'

該当のソースコード

import pygame
import sys
from pygame.locals import *
import os

pygame.init()
pygame.key.set_repeat(5, 5)
SURFACE = pygame.display.set_mode((400, 300))
FSPLOCK = pygame.time.Clock()

def main01():
strip = pygame.image.load("strip.png")
images = []
for index in range(9):
image = pygame.Surface((24, 24))
image.blit(strip, (0, 0), Rect(index * 24, 0, 24, 24))
images.append(image)

counter = 0 pos_x = 100 while True: event = pygame.key.get_pressed() for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() if event.type == KEYDOWN: if event.key == K_SPACE: pygame.quit() sys.exit() if event.key == K_LEFT: pos_x -= 5 if event.key == K_RIGHT: pos_x += 5 SURFACE.fill((0, 0, 0)) SURFACE.blit(images[counter % 2 + 0], (50, 50)) SURFACE.blit(images[counter % 2 + 2], (100, 50)) SURFACE.blit(images[counter % 2 + 4], (150, 50)) SURFACE.blit(images[counter % 2 + 6], (200, 50)) counter += 1 SURFACE.blit(images[8], (pos_x, 150)) pygame.display.update() FSPLOCK.tick(5)

if name == 'main':
main01()

試したこと

pygameの再インストール
pathの設定

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

Os:Windows10
Python ver3.6.4

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

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

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

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

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

guest

回答2

0

複数のpythonがインストールされていて、違うものを起動してしまっているのではないでしょうか。

コマンドプロンプトで以下の操作をしてみてください。

python

1>where python 2>python 3>>> import sys 4>>> sys.version 5>>> sys.path

また、idleでもこれを。

python

1>>> import sys 2>>> sys.version 3>>> sys.path

可能ならatom runnerで実行しているpythonのバージョン、パス等も調べてください。

結果は質問文に追記してください(ユーザ名等は伏せて構いません)。

とりあえず、その結果を見て考えましょう。

投稿2018/05/13 11:19

編集2018/05/13 11:20
hayataka2049

総合スコア30933

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

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

andouroid

2018/05/13 11:47

回答ありがとうございます。 コマンドを >pygame.py で実行しようとすると、このエラーが出ていました。 再度、python pygame.py で実行したところ正常に作動しました。
hayataka2049

2018/05/13 11:49

いささか想像と違った展開で戸惑っておりますが、解決されたのは幸いです。ついでにアドバイスしておきますと、モジュール名と同じソースコード名を使うとトラブルの元になるので、ファイル名は変えることをおすすめします
andouroid

2018/05/13 11:54

>ファイル名 他のファイル名も変更して pygame_test01.py など別ファイル名にしたところ、 今までうまく実行できなかった他のファイルも問題なく動きました。 アドバイスありがとうございます。
guest

0

自己解決

python pygame.py

と最初にpythonと入力すれば実行できました。

投稿2018/05/13 11:45

andouroid

総合スコア12

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問