代码之家  ›  专栏  ›  技术社区  ›  resopollution

雪豹python 2.6让pil工作的问题

  •  2
  • resopollution  · 技术社区  · 15 年前

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

    导入错误:未安装_Imaging C模块

    任何帮助都非常感谢!

    我试着用python解释器导入图像,看看有什么问题,得到了:

        >>> 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 回复  |  直到 14 年前
        1
  •  4
  •   Tim Hatch    15 年前

    我在SL上也遇到了这个问题,问题可能是您的libjpeg是在没有匹配架构的情况下构建的。假设您使用的是MacPorts,请运行 file /opt/local/lib/libjpeg.dylib . 正确的方法是用MacPorts +universal Universal Binaries in MacPorts 因为它与PIL依赖性相关。

        2
  •  4
  •   shacker kravietz    14 年前

    当您以前从fink或ports安装过python工具时,在从源代码处编译时会发生很多这样的错误。例如 _jpeg_resync_to_restart 当您有剩余的libjpeg文件在 /opt/local/lib . 试试这个:

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

    然后重新编译libjpeg(从 make clean ,然后重新编译pil(从 rm -Rf build )

    之后, import _imaging 应该工作。不管怎样都是为我做的。

        3
  •  2
  •   Lennart Regebro    15 年前

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

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

        4
  •  1
  •   Bram Braakman    15 年前

    我也一直有这个问题。结果发现这与我在修复mysqldb安装问题时对.bash_配置文件所做的更改(强制使用ggc-4.0)有关。

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