【问题标题】:PIL decoder jpeg not available on ubuntu x64,PIL 解码器 jpeg 在 ubuntu x64 上不可用,
【发布时间】:2015-07-16 14:28:54
【问题描述】:

我知道这个问题看起来像是重复的,但我已经按照许多关于如何正确安装 PIL 的在线说明进行操作,但没有一个有效。

我已经在Python Image Library fails with message "decoder JPEG not available" - PIL 中尝试了所有方法,但没有成功。

当我运行 sudo pip install pil 时,最糟糕的是,会出现误导性错误。 Jpeg、Freetyle 等支持都列为可用。但是当使用 PIL 运行一些 python 代码时, 臭名昭著的“解码器 jpeg 不可用”的 IOError 出现了。

即使在为 .so libjpeg 文件符号链接到 /usr/lib 之后,也没有任何效果。

有什么想法吗?谢谢。

【问题讨论】:

    标签: python jpeg python-imaging-library


    【解决方案1】:

    你可以试试这个:

    1.清除 PIL 包

    rm -rf /usr/lib/python2.7/site-packages/PIL
    rm -rf /usr/lib/python2.7/site-packages/PIL.pth
    

    2。安装所需的软件包

    ubuntu:
    apt-get install libjpeg-dev libfreetype6-dev zlib1g-dev libpng12-dev
    
    centos:
    yum install zlib zlib-devel
    yum install libjpeg libjpeg-devel
    yum install freetype freetype-devel
    

    3.下载镜像并安装

    wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz
    tar xzvf Imaging-1.1.7.tar.gz
    cd Imaging-1.1.7
    # if the sys is x64, you must also do this: edit the setup.py file and set:
    # centOS:
    TCL_ROOT = '/usr/lib64'
    JPEG_ROOT = '/usr/lib64'
    ZLIB_ROOT = '/usr/lib64'
    TIFF_ROOT = '/usr/lib64'
    FREETYPE_ROOT = '/usr/lib64'
    LCMS_ROOT = '/usr/lib64'
    # Ubuntu:
    TCL_ROOT = '/usr/lib/x86_64-linux-gnu'
    JPEG_ROOT = '/usr/lib/x86_64-linux-gnu'
    ZLIB_ROOT = '/usr/lib/x86_64-linux-gnu'
    TIFF_ROOT = '/usr/lib/x86_64-linux-gnu'
    FREETYPE_ROOT = '/usr/lib/x86_64-linux-gnu'
    LCMS_ROOT = '/usr/lib/x86_64-linux-gnu'
    #then install it use:
    python2.7 setup.py install
    

    4.检查它是否有效

    # before this command you should run `mv PIL PIL2`
    
    python2.7 selftest.py
    

    如果结果是:

    --- PIL CORE support ok
    --- TKINTER support ok
    --- JPEG support ok
    --- ZLIB (PNG/ZIP) support ok
    --- FREETYPE2 support ok
    *** LITTLECMS support not installed
    --------------------------------------------------------------------
    Running selftest:
    --- 57 tests passed.
    

    恭喜!!

    【讨论】:

    • 我正在尝试解决方案,但是 ` ImproperlyConfigured: Error importing module ` "No module named PIL"
    • 使用import Image替换from PIL import Image
    • 有同样的错误..然后我跟着你的。测试通过但抛出错误.. Exception Location: build/bdist.linux-x86_64/egg/PIL/Image.py in _getdecoder, line 415
    • 示例中的失败:来自 selftest.testimage 第 76 行的 len(im.tostring()) 引发异常:回溯(最近一次调用):文件“./doctest.py”,第 499 行, 在 _run_examples_inner exec compile(source, "", "single") 在 glob 文件 "", 第 1 行, 在 文件 "/home/ubuntu/.local/lib/python2.7/ site-packages/PIL/Image.py”,第 697 行,在 tostring 中“请改为调用 tobytes()。”) NotImplementedError: tostring() 已被删除。请改为调用 tobytes()。
    • 1 个项目失败:selftest.testimage 中的 57 个项目中的 1 个 测试失败 1 个失败。 *** 57 次测试中有 1 次失败。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-13
    • 2014-10-27
    相关资源
    最近更新 更多