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

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

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

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Python

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

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

Q&A

解決済

2回答

1113閲覧

本の通りにコードを入力してもエラーになってしまいます。

beginner.8150

総合スコア1

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Python

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

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

0グッド

0クリップ

投稿2021/09/18 08:44

編集2021/09/18 11:05

python

1import tkinter as tk 2import tkinter.filedialog as fd 3import PIL.Image 4import PIL.ImageTk 5 6def dispPhoto(path): 7 8 newImage = PIL.Image.open(path).resize((300,300)) 9 10 imageData = PIL.ImageTk.Photomage(newImage) 11 imageLabel.configure(image = imageData) 12 imageLabel.image=imageData 13 14def openFile(): 15 fpath = fd.askopenfilename() 16 17 if fpath: 18 dispPhoto(fpath) 19 20root=tk.Tk() 21root.geometry("400x350") 22 23btn=tk.Button(text="ファイルを開く",command = openFile) 24imageLabel = tk.Label() 25btn.pack() 26imageLabel.pack() 27tk.mainloop()

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

pythonを本で勉強している初心者なのですが、本のコードを入力してもエラーが出てしまいます。いろいろ試したのですがわからないので教えてほしいです。

Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license()" for more information.

=== RESTART: C:\Users\mito1\AppData\Local\Programs\Python\Python38-32\test.py ==
Traceback (most recent call last):
File "C:\Users\mito1\AppData\Local\Programs\Python\Python38-32\test.py", line 3, in <module>
import PIL.Image
ModuleNotFoundError: No module named 'PIL'

エラーメッセージ

該当のソースコード

試したこと

pillowはインストールしました。

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

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

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

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

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

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

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

y_waiwai

2021/09/18 08:45

このままではコードが読めないので、質問を編集し、<code>ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
beginner.8150

2021/09/18 08:55

編集したんですけどあってますか? すいません、よくわからなくて
jbpb0

2021/09/18 09:44 編集

> 編集したんですけどあってますか? 合ってません pythonのコードの一番最初の行のすぐ上に ```python だけの行を追加してください また、pythonのコードの一番最後の行のすぐ下に ``` だけの行を追加してください 現状、コードがとても読み辛いです 質問にコードを載せる際に上記をやってくれたら、他人がコードを読みやすくなり、コードの実行による現象確認もやりやすくなるので、回答されやすくなります
jbpb0

2021/09/18 09:45 編集

> ModuleNotFoundError: No module named 'PIL' pip install Pillow を実行したのと同じ状態で pip show Pillow を実行してください いろいろ表示される中に「Location:」で始まる行がありますので、そこに書かれてるパスを記録してください 次に、pythonで import PIL.Image がうまくいかない状態で、下記のpythonコードを実行してください import sys import pprint pprint.pprint(sys.path) たくさんパスが表示されますが、その中にpip show...で記録したパスが入ってますでしょうか? 入ってないとimportできません
beginner.8150

2021/09/18 10:11

指摘ありがとうございます。改善されましたか? pip show pillowを実行後、Location: \users\mito1\appdata\local\programs\python\python39\lib\site-packagesとなりました。 pythonで言われたコードを実行すると ['C:\\Users\\mito1\\AppData\\Local\\Programs\\Python\\Python38-32\\Lib\\idlelib', 'C:\\Users\\mito1\\AppData\\Local\\Programs\\Python\\Python38-32\\python38.zip', 'C:\\Users\\mito1\\AppData\\Local\\Programs\\Python\\Python38-32\\DLLs', 'C:\\Users\\mito1\\AppData\\Local\\Programs\\Python\\Python38-32\\lib', 'C:\\Users\\mito1\\AppData\\Local\\Programs\\Python\\Python38-32', 'C:\\Users\\mito1\\AppData\\Local\\Programs\\Python\\Python38-32\\lib\\site-packages']となりました。
beginner.8150

2021/09/18 10:12

この場合はどうすればよいのですか。
jbpb0

2021/09/18 10:30 編集

> この場合はどうすればよいのですか。 質問者さんが使ってるパソコンには2種類のPythonが入ってます > \users\mito1\appdata\local\programs\python\python39\lib\site-packages は64bit版のPython 3.9で、pipで入れたPillowはこちらに入ってます > C:\\Users\\mito1\\AppData\\Local\\Programs\\Python\\Python38-32\\lib\\site-packages は32bit版のPython 3.8で、コード実行に使ってるのはこちらですが、pipで入れたPillowはこちらからは見えないため、インポートできません 対策としては、ppaulさんが回答に書いてる通りにやれば、32bit版の方にもPillowを入れることができるので、インポートができるようになるはずです ただし、2種類のPythonをパソコンに入れておくのは、今回のようなトラブルの原因になるので、どうしても2種類を使い分けないといけない理由が無いのであれば、今後使っていく方を決めて、そうで無い方は削除することをお勧めします
jbpb0

2021/09/18 10:29 編集

> 改善されましたか? 現在質問には、Pythonの同じコードが2回書かれてます 質問の一番最初、「発生している問題・エラーメッセージ」よりも上に書かれてる方は、キレイに表示されて読みやすいです 今後もこのようにしてください 一方、「該当のソースコード」と「試したこと」の間に書かれてる方は、元のままで読み辛いです こちらは要りません 同じコードを2回書く必要も無いし
beginner.8150

2021/09/18 11:44

今後気を付けます!ありがとうございます。
beginner.8150

2021/09/18 11:45

pythonで実行すると青文字でC:\Users\mito1\AppData\Local\Programs\Python\Python38-32\pythonw.exeと出てきました。(同時に、your program is still running. Do you want to kill it?というものが表示されます) ターミナルで実行しましたが特に反応がないです。コマンドプロンプトでもやってみましたが、指定されたパスが見つかりませんとなってしまいました。 良ければ改善方法を教えていただきたいです。
guest

回答2

0

ベストアンサー

複数のPythonがインストールされている場合、Python毎にライブラリ(モジュール)のインストールが必要です。今動かしているPythonがpipでPILをインストールしたPythonと違うためにimportができていません。

どのPythonが動いているかを調べるために、
import tkinter.filedialog as fd
の前に、以下のコードを挿入して実行してください。

Python

1import sys 2print(sys.executable) 3exit()

これで表示されるPythonが、仮に'C:\aaa\bbb\ccc\python.exe'だとした場合、
ターミナルで,以下を実行してください。

terminal

1C:\aaa\bbb\ccc\python.exe -m pip install Pillow

投稿2021/09/18 09:58

ppaul

総合スコア24666

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

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

beginner.8150

2021/09/18 11:37

回答ありがとうございます。 実行すると青文字でC:\Users\mito1\AppData\Local\Programs\Python\Python38-32\pythonw.exeと出てきました。(同時に、your program is still running. Do you want to kill it?というものが表示されます) ターミナルで実行しましたが特に反応がないです。コマンドプロンプトでもやってみましたが、指定されたパスが見つかりませんとなってしまいました。 良ければ改善方法を教えていただきたいです。
jbpb0

2021/09/18 12:17

C:\Users\mito1\AppData\Local\Programs\Python\Python38-32\pythonw.exe -m pip install Pillow は実行しました?
beginner.8150

2021/09/18 13:07

ターミナルで実行すると SynaxError: unexpected character after line continuation character となってしまいます
jbpb0

2021/09/18 13:13 編集

> synaxerror:… Pythonを起動してから実行してませんか? pip show pillow を実行した時と同じように、Pythonを起動してない状態で実行するのです
beginner.8150

2021/09/18 14:34

できました!!! 本当に丁寧にありがとうございます!!
guest

0

>ModuleNotFoundError: No module named 'PIL'

とりあえずこのエラーを解決しましょう。
PILはPillowパッケージに含まれていますので、pipコマンドでインストールしてみてください。

$ pip list Package Version ---------- ------- Pillow 8.3.2 pip 21.2.3 setuptools 57.4.0 $ python Python 3.9.7 (default, Sep 10 2021, 09:37:04) [Clang 12.0.5 (clang-1205.0.22.11)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import PIL.Image >>> PIL.Image.__version__ '8.3.2'

>いろいろ試したのですがわからない
試したことを質問文に書きましょう。
回答者に無駄な回答をさせないようにしてください。

投稿2021/09/18 08:49

編集2021/09/18 08:57
technocore

総合スコア7247

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

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

beginner.8150

2021/09/18 09:00

すいません、pipコマンドがわかりません、、、
beginner.8150

2021/09/18 09:04

コマンドプロンプトで pip install pillow の作業をしたのですがそのことですか?
beginner.8150

2021/09/18 09:11

Requirement already satisfied: pillow in と出てきましたがあってますか? 何度もすいません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問