Python
pillow
Anaconda

AnacondaでPILのインポートに失敗する

私の環境ではlibtiffをインストールすることにより解決しました。

環境

Windows10
Anaconda3 64bit
Python 3.6.3 :: Anaconda custom (64-bit)
Pillow 5.0.0

状況

Anacondaをインストールして画像を操作するPythonスクリプトを実行したところ下記のエラーとなりました。PIL(Pillow)の内部で利用しているDLLのロードに失敗しているようです。

Traceback (most recent call last):
  File "image_to_db.py", line 3, in <module>
    from PIL import Image
  File "C:\Users\xxxx\Anaconda3\lib\site-packages\PIL\Image.py", line 58, in <module>
    from . import _imaging as core
ImportError: DLL load failed: 指定されたモジュールが見つかりません。

当該パッケージのディレクトリを確認したところ_imaging.pyd自体は存在しているようです。

2018/01/05  05:39           556,032 _imaging.cp36-win_amd64.pyd

先人の知恵に倣ってDependency Walkerで依存関係を確認したところ、TIFF.DLLがうまく読めない状態になっているようでした。

dep.PNG

libtiffパッケージをインストールすることによりエラー出ないようになりました。(パッケージの依存関係の解決がうまくいってなかったのかな?)

conda install libtiff