【问题标题】:Pillow and JPEG2000: decoder jpeg2k not availablePillow 和 JPEG2000:解码器 jpeg2k 不可用
【发布时间】:2017-11-30 15:28:49
【问题描述】:

我正在尝试设置 Flask-IIIF 以使用 jp2-files 或 JPEG2000。开箱即用,我从 Pillow 库中收到一个错误:IOError: decoder jpeg2k not available

我试过用谷歌搜索它,一篇 StackOverflow 帖子告诉我确保 libjpeg-devlibjpeg8-dev 已安装并且是最新的,但它们已经安装了。在确保它们在那里之后,我确实尝试重新安装没有缓存的枕头:pip install --no-cache-dir -I pillow

环境是 Docker,基于 15.10 Ubuntu 映像。 Python 版本为 2.7.10。 pip freeze 的枕头版本是 4.1.1

编辑:我也尝试了Python Image Library fails with message "decoder JPEG not available" - PIL的另一个建议:

sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib

【问题讨论】:

    标签: python pillow jpeg2000


    【解决方案1】:

    Pillow 需要 OpenJPEG 库来解码 JPEG2000 文件。 libjpeg 仅处理常规 JPEG。

    请参阅本节末尾 Pillow 文档中的注释:http://pillow.readthedocs.io/en/latest/handbook/image-file-formats.html#jpeg-2000

    【讨论】:

      【解决方案2】:

      Windows 用户: 安装 OpenJPEG 并将其 bin 文件夹添加到 PATH 后,您需要重新构建枕头库。使用 Conda 我没有找到解决方案,所以我最终使用来自 PyPi 的 Windows 安装程序作为suggested in this answer here。安装程序找到了我的 Anaconda 安装,它似乎只是覆盖了那里的枕头库。

      【讨论】:

        【解决方案3】:

        Linux 版

        sudo yum install -y libjpeg-devel
        sudo pip uninstall pillow
        sudo pip install pillow
        

        适用于窗户

        # download
        import imageio
        imageio.plugins.freeimage.download()
        
        # install
        pip uninstall pillow
        pip install pillow
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多