2

我安装了 libjpeg 和 PIL,但是当我尝试保存 JPG 图像时,我总是得到这个错误:

ImportError: _imaging C 模块未安装

非常感谢任何帮助!

我尝试使用 Python 解释器导入 _imaging 以查看问题所在并得到以下信息:

    >>> import _imaging
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL/_imaging.so, 2): Symbol not found: _jpeg_resync_to_restart
  Referenced from: /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL/_imaging.so
  Expected in: dynamic lookup
4

4 回答 4

4

我刚刚在 SL 上也遇到了这个问题,问题很可能是你的 libjpeg 是在没有匹配架构的情况下构建的。假设您使用的是 MacPorts,请运行file /opt/local/lib/libjpeg.dylib. 正确的方法是使用 MacPorts 构建所有内容+universal,请参阅 MacPorts 中的通用二进制文件,因为它与 PIL 依赖项有关。

于 2009-11-04T21:15:43.233 回答
4

当您以前从 fink 或 ports 安装 python 工具时,从源代码编译时会发生很多这些错误。例如,_jpeg_resync_to_restart当您在/opt/local/lib. 试试这个:

cd /opt/local/lib
sudo rm *jpeg*

然后重新编译 libjpeg(以 开头make clean),然后重新编译 PIL(以 开头rm -Rf build)。

在那之后,import _imaging应该工作。反正为我做了。

于 2010-05-20T07:44:51.167 回答
2

编辑:感谢您添加的错误消息。这显然是雪豹上 jpeglib 的问题。你试过这个吗?

http://jetfar.com/libjpeg-and-python-imaging-pil-on-snow-leopard/

于 2009-10-05T07:02:46.147 回答
1

我也一直有这个问题。事实证明,这与我在尝试修复 MySQLdb 安装问题时对 .bash_profile 所做的更改(强制使用 ggc-4.0)有关。

http://www.brambraakman.com/blog/comments/installing_pil_in_snow_leopard_jpeg_resync_to_restart_error/

于 2009-10-17T14:51:13.047 回答