OSX Pillow不兼容的库版本libtiff.5.dylib& libjpeg.8.dylib

时间:2014-03-29 07:47:48

标签: python macos pillow

尝试在任何脚本上使用Pillow时出现此错误:

  File "/Users/antonio/WWW/myproj/myproj/functions.py", line 12, in <module>
    from PIL import Image, ImageOps
  File "/Library/Python/2.7/site-packages/PIL/Image.py", line 53, in <module>
    from PIL import _imaging as core
ImportError: dlopen(/Library/Python/2.7/site-packages/PIL/_imaging.so, 2): Library not loaded: /usr/local/lib/libjpeg.8.dylib
  Referenced from: /usr/local/lib/libtiff.5.dylib
  Reason: Incompatible library version: libtiff.5.dylib requires version 13.0.0 or later, but libjpeg.8.dylib provides version 9.0.0

任何人都可以帮助我吗?

5 个答案:

答案 0 :(得分:5)

我有同样的问题,我不得不重新安装枕头,所有都是依赖。 我的一些符号链接不好。

首先你要做:

brew doctor

看看你是否有错误。我是这样的:

Warning: Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected dylibs:
/usr/local/lib/libjpeg.8.dylib
/usr/local/lib/libpng.3.dylib
/usr/local/lib/libpng12.0.dylib
/usr/local/lib/libpng14.14.dylib

Warning: Unbrewed .la files were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected .la files:
/usr/local/lib/libjpeg.la
/usr/local/lib/libpng12.la
/usr/local/lib/libpng14.la
/usr/local/lib/libpng15.la

Warning: Unbrewed .pc files were found in /usr/local/lib/pkgconfig.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

 Unexpected .pc files:
/usr/local/lib/pkgconfig/libpng12.pc
/usr/local/lib/pkgconfig/libpng14.pc

Warning: Unbrewed static libraries were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected static libraries:
/usr/local/lib/libjpeg.a
/usr/local/lib/libpng12.a
/usr/local/lib/libpng14.a

所以我决定清除我安装的所有错误和依赖项:

brew uninstall pillow
brew uninstall libpng
brew uninstall libjpeg
brew uninstall webp
brew uninstall libtiff
brew uninstall littlecms

brew prune => to clean symlink

当我的酿酒医生没有任何错误时,我只是运行brew install pillow并且一切正常。

希望有所帮助。

答案 1 :(得分:2)

如果您使用conda,请尝试:

conda install libtiff

如果不这样做,请尝试:

pip install --upgrade libtiff

答案 2 :(得分:1)

尝试重新安装最新版本的枕头。我使用anaconda python和

conda install -f pillow

为我解决了类似的问题。

答案 3 :(得分:1)

我遇到了同样的问题。由于我使用Anaconda安装了Python,&#34; conda install Pillow确实在这种情况下工作。

答案 4 :(得分:1)

我在OSX 10.10.2上遇到了类似的问题。我也使用anaconda for python,Python 2.7.9 | Anaconda 2.2.0(x86_64)。 Frank和user4183543的答案是很好的尝试,但他们对我不起作用

为卸载的库创建软链接对我有用。

我做了:

$ locate libtiff.5.dylib

,其中的结果是

/Users/curt/anaconda/lib/libtiff.5.dylib
/Users/curt/anaconda/pkgs/libtiff-4.0.2-1/lib/libtiff.5.dylib

libjpeg.8.dylib的结果是类似的。我通过以下命令为libjpeg.8.dyliblibtiff.5.dylib制作了软链接:

$ ln -s /Users/curt/anaconda/lib/libjpeg.8.dylib /usr/local/lib/libjpeg.8.dylib
$ ln -s /Users/curt/anaconda/lib/libtiff.5.dylib /usr/local/lib/libtiff.5.dylib

Pillow / PIL现在正在为我工​​作,至少目前是这样。

我确信有一个更好的解决方案可以确定核心问题是什么,但我发布这个问题是为了让可能遇到类似问题的conda用户受益。