尝试导入PIL(使用枕头)时,出现以下错误:

    from PIL import ImageTk, Image
  File "/usr/local/lib/python2.7/site-packages/PIL/ImageTk.py", line 42, in <module>
    from . import Image
  File "/usr/local/lib/python2.7/site-packages/PIL/Image.py", line 60, in <module>
    from . import _imaging as core
ImportError: dlopen(/usr/local/lib/python2.7/site-packages/PIL/_imaging.so, 2): Symbol not found: _clock_gettime
  Referenced from: /usr/local/lib/python2.7/site-packages/PIL/.dylibs/liblzma.5.dylib (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib
 in /usr/local/lib/python2.7/site-packages/PIL/.dylibs/liblzma.5.dylib

请注意Referenced from: /usr/local/lib/python2.7/site-packages/PIL/.dylibs/liblzma.5.dylib (which was built for Mac OS X 10.12)行,特别是'(这是为Mac OS X 10.12构建的)'。

我有一种预感,当我尝试手动安装错误版本的xCode(与此计算机上的10.11.6不兼容)时,我可能已损坏了某些内容。我已经使用pip install Pillow安装了Pillow-但是该安装导致此错误。有没有办法强制pip安装某个版本的Pillow,以查看问题是否出在pip安装有问题的版本上?

最佳答案

这是最新的Pillow 5.1.0版本中的错误。

这是由于将Xcode从版本8升级到9.2来构建二进制车轮而引起的。

El Capitan 10.11是Xcode 8的“最低运行macOS”。

Sierra 10.12.6是Xcode 9.2的最小值。

https://en.wikipedia.org/wiki/Xcode#Xcode_7.0_-9.x(since_Free_On-Device_Development

在某个时候会有一个Pillow 5.1.1修复它。

同时,解决方法是:pip install'pillow!= 5.1.0'

(或者升级您的macOS,或者从源代码构建。)

有关更多信息,请参见https://github.com/python-pillow/Pillow/issues/3068

关于python - 当我安装了OS X 10.11时,为什么要 pip 安装OS X 10.12的Pillow?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49969800/

10-11 15:30