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

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

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

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Pygame

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

Python

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

Q&A

解決済

1回答

13048閲覧

pygame をインストールしたのに使えない

tom_honmono

総合スコア22

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Pygame

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

Python

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

0グッド

0クリップ

投稿2020/05/16 08:58

プログラミング初心者です。

windows10でコマンドプロンプトでpip install pygameとして、インストールを完了しました。その後IDLEで import pygame から始まるコードを走らせようとしたところ、一行目の import pygame の時点でno module と言われてしまいました。もういちどコマンドプロンプトでインストールを試みましたがalreadyといわれたのでインストールはされていると思います。

他の方もこれについて質問されていて読んでみましたが、pygameとまったく同じ名前のファイルは作っていません。anacondaはインストールしていますがそれが原因かもよくわかりません。anacondaが原因なのでしょうか?

ちなみにPYTHONでつくるゲーム開発入門講座を読みながらやっています。よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

  • コマンドプロンプトで pip install pygameとして、インストールを完了しました。
  • その後 IDLEで import pygame から始まるコードを走らせようとしたところ、

IDLEで使われている環境にインストールされてないのだと思います。
コマンドプロンプトでコードを実行するとどうなりますか?

複数のバージョンをインストールしている場合に起こる問題ですが、
IDLEから使いたい場合は、そのIDLEを実行している環境と同じ場所に
ライブラリをインストールする必要があります。

IDLEはどのように起動してますか?

解決方法1:

  • IDLEを実行してる環境の確認して
  • その環境の pip を使って pygame をインストール

解決方法2:

既にpygameをインストール済みなら、
その環境の IDLE を使う事でも解決できるはずです。


確認方法

コマンドラインでPython を対話モードで起動して
pygame のインストール場所を確認して見て下さい

>>> import pygame >>> pygame <module 'pygame' from 'PYGAMEがインストールされた場所'>

IDLE の確認、対話モードで

>>> import sys >>> sys.executable ’実行してる python.exe のパス’

投稿2020/05/16 15:40

teamikl

総合スコア8664

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

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

tom_honmono

2020/05/17 06:19

module pygame from ~~anaconda~~ アナコンダの中にインストールされてるみたいです。IDLEはローカルで実行してるみたいです。pygameをローカルにpipでダウンロードするのはどうやればいいのでしょうか?
teamikl

2020/05/17 10:07

IDLE と同じ場所に pip コマンドがあるはずなのでそちらの pip を使うようにします。インストールされた場所はわかりましたか? アナコンダの画面からはコマンドプロンプトを立ち上げないで、 通常のコマンドプロンプトを使います。 他には、絶対パスでその環境のpipを使う等 例えばwindows で c:\Python37 にインストールされていれば c:\Python37\Scripts\pip.exe があるはずなので、 > c:\Python37\Scripts\pip.exe install pygame
tom_honmono

2020/05/17 13:15

全然わからずすみません。。。 IDLEに、sys.executable と打つと、 'C:\Users\tomto\AppData\Local\Programs\Python\Python38-32\pythonw.exe' と出ました。この場所のpipを使うということですか? この場所のpipというのはどのようにすればいいのでしょうか? 絶対パスの使い方もよくわかりません;;
teamikl

2020/05/17 15:43 編集

Windowsの場合は、Scripts というフォルダ内にコマンドがあります。 確認点1: C:\Users\tomto\AppData\Local\Programs\Python\Python38-32\Scripts\pip.exe というファイルはありませんか? 絶対PATHは、最初に書かれてた "pip install pygame" の pipの部分を この長いパスに変更します。 C:\Users\tomto\AppData\Local\Programs\Python\Python38-32\Scripts\pip.exe install pygame 問題の原因の pip でインストールされたものが他の環境に入っていた件は、 この時のpip が他の場所から探されていた為起こりました。 絶対パスで指定することで、特定の環境へインストールすることができるはずです。
tom_honmono

2020/05/20 00:58

絶対パスで何度か試しましたがなぜかインストールされず、アナコンダの中にあったpygameファイルをコピーして貼り付けたらいけました。このやり方でも大丈夫ですかね。。。?
tom_honmono

2020/05/20 01:23

pygame.pyというファイルが重複してなさそうなのに、AttributeError: module 'pygame' has no attribute 'init'が出てきてしまうようになりました。。。。なぜだろう
teamikl

2020/05/20 01:56

バージョンの問題が無ければ動作自体は大丈夫なことはありますが、 それが原因で何かトラブルがあった時に質問しても、 誰も問題を再現できない可能性があるので、(もしくは再現するのに同じ環境を作らなければならない) 正常にインストールした方が良いです。 エラーについてはコードがないと解りません。
teamikl

2020/05/20 02:00

2つPythonがインストールされてるようですが、Pythonのバージョンはそれぞれいくつでしょう import sys print(sys.version) で確認 pip コマンドを入力するコマンドプロンプトはどのように起動してますか? (anaconda環境のモノが使われている、もしくは環境変数にanacondaのものが設定されている) IDLE はどのように起動してますか? - 別の解決策として、anacondaのIDLEを使う手段も探してみる。
tom_honmono

2020/05/20 07:40

pythonを二つインストールしてる自覚はありません。一つにしたほうがいいですかね? コマンドプロンプトはアナコンダを入れる前からタスクバーに追加してるのでそこから起動してます。sysのバージョンは 3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] です。 IDLEもデスクトップから起動しています。 正常にインストールするコマンドを入れても、エラーも言われないしインストールできましたも言ってくれなくて、やはり走らせるとpygameがないと言われます
tom_honmono

2020/05/20 07:42

今のエラーが出るコードはこちらです import pygame import sys WHITE = (255, 255, 255) BLACK = ( 0, 0, 0) def main(): pygame.init() pygame.display.set_caption("初めてのPygame") screen = pygame.display.set_mode((800, 600)) clock = pygame.time.Clock() font = pygame.font.Font(None, 80) tmr = 0 while True: tmr = tmr + 1 for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() txt = font.render(str(tmr), True, WHITE) screen.fill(BLACK) screen.blit(txt, [300, 200]) pygame.display.update() clock.tick(10) if __name__ == '__main__': main()
teamikl

2020/05/20 07:51

> pythonを二つインストールしてる自覚はありません。 IDLEの環境 と anaconda で結果的に2つ入ってます。 3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] は、Anaconda の環境の様ですね。 IDLE でのバージョンの確認はどうなりましたか?フォルダ名を見た所 3.8 ~のようですが。 コードはコメント内ではインデントが崩れてしまうので、質問文に追加でお願いします。 ですが、コード実行確認の前に、環境の問題だと思います。 ---- anaconda 環境の IDLE を使う方法: anaconda 環境の 3.7.6 を使うことになりますが、 python -m idlelib で IDLE を起動して import pygame を試して見て下さい。
teamikl

2020/05/20 07:58

> 一つにしたほうがいいですかね? anacondaの環境が不要であれば、その方が混乱が少なくて済むかもしれませんね。 一応、共存自体は可能です。(実際、複数バージョンをインストールして使ってます) ---- もう一点確認、py コマンドは使えますか? windowsでは、複数バージョンを切り替えて使うのに py コマンドがインストールされます。 > py -3.7 > py -3.8 の2つで、Pythonが起動するか、あとバージョンを確認して もし、py -3.8 で起動できるなら、以下のコマンドでのインストールも試してみてください。 > py -3.8 -m pip install pygame
teamikl

2020/05/20 08:11 編集

コードは、正常にインストールした環境では、問題なく実行されるのが実行が確認出来ました。 環境の問題みたいですね。 >アナコンダの中にあったpygameファイルをコピーして貼り付けたらいけました。 これは状況が解らなくなるので、元に戻しておいた方がいいです。 例えば、ファイルをコピーした状態で pip install を試していたのなら インストールが正常にでされないかもしれない等、例外的な状況を作ってしまいます。 追記: ファイルをコピーしてしまったのなら、まずは pygame のアンインストールが正しく出来ているか 確認してから上記のインストール操作を行った方が良いです。
tom_honmono

2020/05/20 14:33

pip uninstall pygameをし、その後再度 py -3.8 -m pip install pygame をすることでうまくできました。いつもありがとうございます、これからも頑張ります。 また、py -3.7と入れると、 This Python interpreter is in a conda environment, but the environment has not been activated. Libraries may fail to load. To activate this environment please see https://conda.io/activation と書いてあり、3.8のほうではこれではありませんでした。これが原因だったのかもしれません。アナコンダ環境が3.7に入ってしまっているのですかね?
teamikl

2020/05/20 15:14

アナコンダ環境内にpython3.7.6が入っていて、 pip コマンドでのインストールの際等に、そちらの環境設定が優先されてしまっていたようですね。 ライブラリ等のバージョン問題の解消の為には、 「仮想環境」というものを構築できると、複数のバージョンを切り替えたりできるようになります。 必須ではありませんが、外部ライブラリをたくさんインストールしていて、 バージョンを上げた際に他のプログラムで対応してなく動かなくなった、みたいなことを避ける為に ある程度の規模のプログラムを作る際には、こういった環境を構築しておくと良いです。 pythonの場合は、venvというコマンドで(anacondaなら conda create) で 環境構築できるので、必要かなと感じるようになってきたら調べて見て下さい。 追記: > py -3.7 の時に表示されたメッセージに関しては、 確認の為だったので特に気にする必要はないです。 「 Libraries may fail to load 」と書かれてますが、今回の問題には関係なく(別問題)、 URL先の情報は、anaconda側でライブラリを正しく読み込む為の、仮想環境の構築・設定方法です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問