Pillow and JPEG2000: decoder jpeg2k not available

ⅰ亾dé卋堺 提交于 2019-12-22 09:39:09

问题


I'm trying to set up Flask-IIIF to work with jp2-files, or JPEG2000. Right out of the box I get an error from the Pillow library: IOError: decoder jpeg2k not available

I've tried googling it, and one StackOverflow post told me to make sure libjpeg-dev and libjpeg8-dev are installed and up to date, but they were already installed. After making sure they were there, I did try to reinstall pillow without cache: pip install --no-cache-dir -I pillow

The environment is Docker, based on a 15.10 Ubuntu image. Python version is 2.7.10. Pillow version from pip freeze is 4.1.1

edit: I also tried the other suggestion of 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


回答1:


Pillow needs the OpenJPEG library to decode JPEG2000 files. libjpeg only deals with regular JPEGs.

See the note in the Pillow docs at the end of this section: http://pillow.readthedocs.io/en/latest/handbook/image-file-formats.html#jpeg-2000




回答2:


Windows users: After you installed OpenJPEG and added its bin folder to PATH, you need to re-build the pillow library. Using Conda I didn't find a solution to do that so I ended up using the windows installer from PyPi as suggested in this answer here. The installer found my Anaconda installation and it seems it simply overwrote the pillow library there.



来源:https://stackoverflow.com/questions/44782612/pillow-and-jpeg2000-decoder-jpeg2k-not-available

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!