pythonを使用し顔認証プログラムを作成しています。
import PIL.Imageを実行すると
例外が発生しました: ModuleNotFoundError
No module named 'PIL'
File "/Users/name/顔認証プログラム/face_lerner.py", line 14, in <module>
import PIL.Image
というエラーが出てしまいます。
pillowはダウンロードしています。
pythonは始めたばかりで手が全く付けられない状態です。
解決方法を教えてくださると幸いです。
環境
macOS(12.5)
VScode
pillow(9.0.1)
python(3.9.12)
> pillowはダウンロードしています。
とは、具体的に何をしたのでしょうか?
(pipでインストールしたとか)

> import PIL.Imageを実行すると
from PIL import Image
ですね(これがエラーの原因とは別ですが)。
pillowはpipでインストールしました。
> pillowはpipでインストールしました。
pip install Pillow
を実行したのと同じ状態で
pip show Pillow
を実行したら、いろいろ表示される中に「Location:」で始まる行がありますので、そこに書かれてるパスを記録してください
次に、pythonで
No module named 'PIL'
となる状態で、下記のpythonコードを実行してください
import sys
import pprint
pprint.pprint(sys.path)
たくさんパスが表示されますが、その中にpip show...で記録したパスが入ってますでしょうか?
入ってないとimportできません
pip show
>/Users/name/opt/anaconda3/envs/pythonev/lib/python3.9/site-packages
パス
> '/Users/name/.pyenv/versions/3.10.3/lib/python310.zip',
'/Users/name/.pyenv/versions/3.10.3/lib/python3.10',
'/Users/name/.pyenv/versions/3.10.3/lib/python3.10/lib-dynload',
'/Users/name/.pyenv/versions/3.10.3/lib/python3.10/site-packages']
上のような結果になりました。
パスが入っていないということでいいのでしょうか??
またロケーションとパスでのpythonのverが違うのですが、これに関しては気にしなくても大丈夫ですか??
> ロケーションとパスでのpythonのverが違う
が原因です
pillowをインストールする時に使ったpipはpython 3.9に紐付いてるものなので、pillowはpython 3.9にインストールされてます
(pillowがインストールされてない)python 3.10でimportしようとして、インストールされてないのでエラーになってます
・python 3.10のpipでpillowをインストールする
・python 3.9でimportする
のどちらかを行えば、importできると思います
わかりました!
その様にしてみます!
解決できたらまた報告したいと思います。
丁寧な説明をありがとうございました。
二つのpythonがインストールされてると、今回のようなトラブルの原因になるので、二つのpythonをインストールしておく必要が無いなら、今後どちらを使っていくかを決めて、使わない方は削除することをお勧めします
アドバイスありがとうございます!
PILのインポートエラーは無事消えました!
