mathjax

2018年1月1日月曜日

from PIL import Imageのエラー

「ゼロから作るDeep Learning」の3.6.1 MNISTデータセットのコードを実行したら、エラーが出た。
import sys,os
sys.path.append(os.pardir)
import numpy as np
from dataset.mnist import load_mnist
from PIL import Image

def img_show(img):
    pil_img=Image.fromarray(np.uint8(img))
    pil_img.show()

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-7-62fe7075d40c> in <module>()
      3 import numpy as np
      4 from dataset.mnist import load_mnist
----> 5 from PIL import Image

      6 
      7 def img_show(img):

~\Anaconda3\lib\site-packages\PIL\Image.py in <module>()
     54     # Also note that Image.core is not a publicly documented interface,
     55     # and should be considered private and subject to change.
---> 56     from . import _imaging as core
     57     if PILLOW_VERSION != getattr(core, 'PILLOW_VERSION', None):
     58         raise ImportError("The _imaging extension was built for another "

ImportError: DLL load failed: 指定されたモジュールが見つかりません。

5行目が気に入らないと言っている。この章で初めて使うPIL(Python Image Library)モジュールを読み込もうとしてダメになっている。
「指定されたモジュールが見つかりません。Image.pyの56行目がおかしい。」と言っているのだと思うけれど、気になるのはその下のPILLOW_VERSION。

PILが上手く入っていないのかと、インストールを試みたら、

>conda install -c anaconda pil
Fetching package metadata ...............
Solving package specifications: .
UnsatisfiableError: The following specifications were found to be in conflict:
  - pil -> python 2.6*
  - python 3.6*
Use "conda info <package>" to see the dependencies for each package.
pilはPython3に対応していないようなメッセージが出てきた。検索してみるとpilというのはPython2.7までで開発が止まっているそうで、pillowなるものがその代替として開発が進められているとのこと。それではとpillowのインストールを試みる。
>conda install -c anaconda pillow
Fetching package metadata ...............
Solving package specifications: .
Package plan for installation in environment C:\Users\xxx\Anaconda3:
The following NEW packages will be INSTALLED:
vs2017_runtime: 15.5.2-1 anaconda
The following packages will be UPDATED:TED:
良さげ。インストールが終わったら、エラーが出なくなった。

0 件のコメント:

コメントを投稿