python1年生というテキストで画像ファイルを読み込むプログラムを作成しましたが実行をかけるとtkinterで作成した画面上の「ファイルを」開くをクリック後に画像を指定し「開く」をクリックをしても画像の表示がされません。pythonのバージョンは3.1です。
cx20様回答実行後
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
いくつか状況について教えて下さい。
・OS は何でしょうか?
・エラーメッセージは出ていませんでしたか?
・「pip install pillow」コマンドでライブラリのインストールは行っていますか?
ご質問にあるサンプルは以前、試したことがあります。Windows 10 + Python 3.9 では動作していたかと思います。
■ python 1年生 画像を読み込みファイル表示ができません!
https://teratail.com/questions/363667
・OSはwindowsのバージョン11です。
・エラーはIDLEからの実行だと出ておりました。
内容…Traceback (most recent call last):
File "C:\Users\::::0\OneDrive\デスクトップ\python\dispimage.py", line 3, in <module>
import PIL.Image
ModuleNotFoundError: No module named 'PIL'
・pip install pillow」コマンドで入力後に
Requirement already satisfied: pillow in c:\users\yuma0\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0\localcache\local-packages\python310\site-packages (9.1.0)
と出ております。
2022/04/17 02:42
フォルダ名の問題かもしれないと思い回答の方に対処案を記載してみました。
回答2件
0
ベストアンサー
ModuleNotFoundError: No module named 'PIL'
エラー自体はライブラリが見つからない、というエラーですね。。
ただ、
Requirement already satisfied: pillow
と、あるので、ライブラリは入ってそうです。
もしかしたら、フォルダ名の問題かもしれません。
試しにソースファイルを C:\TEMP のようなフォルダにソースファイルを配置して、コマンドラインから再度、試してもらえますか?
■ 手順
- エクスプローラにて
C:\TEMPにソースファイルを配置します。 - フォルダ名の箇所で
cmdを入力し「Enter」キーを押します。 C:\TEMPの場所でコマンドプロンプトが表示されます。python dispImage.pyと入力し「Enter」キーを押します。- プログラムが実行されます。
- 「ファイルを開く」で画像を選択すると画像が表示されます。
| 項番 | イメージ |
|---|---|
| 1 | ![]() |
| 2 | ![]() |
| 3 | ![]() |
| 4 | ![]() |
| 5 | ![]() |
| 6 | ![]() |
投稿2022/04/17 02:23
総合スコア4707
新にファイルを作り直し実行してみましたが
Traceback (most recent call last):
File "C:\TEMP\dispImage.py", line 3, in <module>
import PIL.Image
ModuleNotFoundError: No module named 'PIL'
とういエラーが発生してしまいました。
質問を編集し下のほうに画像記載いたしましたので見ていただけると幸いです。
現在出ているエラーは
> ModuleNotFoundError: No module named 'PIL'
でしょうか?
コマンドプロンプトで、パッケージが導入されていることを、念のため、再確認お願いできますか?
■ 実行コマンド
pip show pillow
■ 実行結果の例
Name: Pillow
Version: 8.3.0
Summary: Python Imaging Library (Fork)
Home-page: https://python-pillow.org
Author: Alex Clark (PIL Fork Author)
Author-email: aclark@python-pillow.org
License: HPND
Location: c:\users\xxxx\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages
Requires:
Required-by: matplotlib
現在のエラーです。
ModuleNotFoundError: No module named 'PIL'
・実行結果はこちらです。
Name: Pillow
Version: 9.1.0
Summary: Python Imaging Library (Fork)
Home-page: https://python-pillow.org
Author: Alex Clark (PIL Fork Author)
Author-email: aclark@python-pillow.org
License: HPND
Location: c:\users::::\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0\localcache\local-packages\python310\site-packages
Requires:
Required-by:
なんでしょうね。。ライブラリは存在しているようですが。。
こちらに類似質問がありました。こちらの回答にあるやり方を試して頂けますか?
■ [Python] ImportError: No module named PIL.Imageの解決方法
https://teratail.com/questions/340118
ベストアンサーを実行してみたものの
ModuleNotFoundError: No module named 'PIL'
は変わらず出てきます。。
自分の環境をPython 3.9→3.10 に上げたところ、「No module named 'PIL'」のエラーが出ることを確認しました。
どうやら、Python と pip のバージョンが合っていないとそのようなエラーになるようです。
Python 3.10 の場合「pip3.10.exe」というコマンドがあるようなので、そちらを試してもらえますか?
■ 実行手順
1. ライブラリの状態確認
pip3.10.exe show pillow
→「WARNING: Package(s) not found: pillow」のメッセージが表示された場合、Python 3.10 環境には、まだ「Pillow」がインストールされていません。
2. ライブラリのインストール
pip3.10.exe install pillow
3. ライブラリの状態確認
pip3.10.exe show pillow
→「Name : Pillow」~ が表示されれば、今度こそ、Python 3.10 環境に Pillow がインストールされたことになるかと思います。
4. サンプルプログラムの実行
python dispimage.py
ライブラリの状態確認をしたところ「Name : Pillow」~の表示は確認することができました。ただプログラム実行したところまたエラーがでました。エラー内容は同じくModuleNotFoundError: No module named 'PIL'のままです…
何度もすみません。下記の実行結果を教えて頂けますか?
-------------------------
import sys
print(sys.executable)
-------------------------
謝らないでください、ほんとにお助けいただきありがたいです。
実行結果はこちらです。
C:\Users\::::\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe
上記で表示された Python.exe のパスの後に「 -m pip show Pillow」を付けて実行してもらえますか?
-------------------------
C:\Users\::::\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe -m pip show Pillow
-------------------------
実行いたしました。
>>> C:\Users\::::\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe -m pip show Pillow
File "<stdin>", line 1
C:\Users\::::\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe -m pip show Pillow
^
SyntaxError: unexpected character after line continuation character
上記コマンド「~\python.exe -m pip show Pillow」ですが「IDLE」ではなく「コマンドプロンプト」から実行お願いします。
失礼いたしました。実行結果です。
Name: Pillow
Version: 9.1.0
Summary: Python Imaging Library (Fork)
Home-page: https://python-pillow.org
Author: Alex Clark (PIL Fork Author)
Author-email: aclark@python-pillow.org
License: HPND
Location: c:\users\::::\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0\localcache\local-packages\python310\site-packages
Requires:
Required-by:
問題なさそうですね。。
Python.exe と dispImage.py をフルパスで指定しても同じエラーになりますか?
-------------------------
C:\Users\::::\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe C:\TEMP\dispImage.py
-------------------------
コマンドプロンプトでも同じエラーですね。
Traceback (most recent call last):
File "C:\TEMP\dispImage.py", line 3, in <module>
import PIL.Image
ModuleNotFoundError: No module named 'PIL'
うーん、なんでしょうね・・
一度、ライブラリの再インストールを試してもらえますか?
■ ライブラリの再インストール方法
(ライブラリの削除のかわりにリネームするという手順にしています。)
------------------------------------------------------------------
1. ライブラリのフォルダを確認
エクスプローラで下記フォルダを確認下さい。
「pip show pillow」コマンドで表示した際の「Location」がライブラリが存在する場所になります。
c:\users\::::\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0\localcache\local-packages\python310\site-packages
2. ライブラリの名前をリネーム
「PIL」→「PIL_」
「Pillow-9.1.0.dist-info」→「Pillow-9.1.0.dist-info_」
3. ライブラリが見えなくなっていることを確認
C:\Users\::::\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe -m pip show pillow
→「WARNING: Package(s) not found: pillow」が出力されることを確認下さい。
4. ライブラリの再インストール
C:\Users\::::\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe -m pip install pillow
5.ライブラリが再インストールされたことを確認
C:\Users\::::\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe -m pip show pillow
→「Name: Pillow」が表示されることを確認下さい。
6. 再度、サンプルプログラムを実行
C:\Users\::::\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe C:\TEMP\dispImage.py
→ エラーが出ないことを確認下さい。
------------------------------------------------------------------
プログラム実行できたもののやはり最後の画像指定後の画像表示には到達できませんでした。
C:\Users\yuma0>C:\Users\::::\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe C:\TEMP\dispImage.py
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.1264.0_x64__qbz5n2kfra8p0\lib\tkinter\__init__.py", line 1921, in __call__
return self.func(*args)
File "C:\TEMP\dispImage.py", line 18, in openFile
dispPhoto(fpath)
File "C:\TEMP\dispImage.py", line 11, in dispPhoto
imageLabel.configure(image = imageData)
NameError: name 'imageData' is not defined
ちょっと進みましたね。
10行目が間違っているかも?
誤)imageDate
正)imageData
お陰さまでやっと画像表示までたどり着けました。長時間にわたり対応していただきほんとにありがとうございました。
おぉー。よかった。おめでとうございます!
出版社のサイトからサンプルコードが落とせるようなので、これを最初に試せばよかったですね・・
■ ホーム > 書籍 > Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ > ダウンロード
https://www.shoeisha.co.jp/book/download/9784798153193/detail
0
このようなエラーが出ていたりしませんか?
NameError: name 'imageData' is not defined
投稿2022/04/16 08:33
総合スコア74
Traceback (most recent call last):
File "C:\Users\::::0\OneDrive\デスクトップ\python\dispimage.py", line 3, in <module>
import PIL.Image
ModuleNotFoundError: No module named 'PIL'
というエラーが出ています。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。











