最近在使用python的jpeg4py库的时候,碰到了几个Error
OSError: Caught OSError in DataLoader worker process 0
OSError: Could not load libjpeg-turbo library
AttributeError: 'JPEG' object has no attribute 'decompressor'
发现自己没有配置libjpeg-turbo库,现在把配置过程写出来让大家能少走些弯路。
Ubuntu 16.04系统下编译libjpeg-turbo库
1、libjpeg-turbo源码下载地址:https://sourceforge.net/projects/libjpeg-turbo/files/,选择下载libjpeg-turbo-2.0.6.tar.gz
2、下载源码后,在服务器原目录解压压缩文件,并在源码目录新建一个build-arm的目录。
进入build-arm目录,执行以下命令,生成Makefile。
cmake -G"Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/home/user/libjpeg-turbo/build-arm/libs-build /home/user/libjpeg-turbo
3、执行make -j 8 操作,完成编译。
4、执行make install 操作,完成安装。
完成上述操作之后,在所使用的环境下面执行
pip install jpeg4py==0.1.4
我所使用的是anaconda下配置好的pytorch环境,找到_cffi.py,并对其进行编辑,其路径为
/home/user/anaconda3/envs/pytorch/lib/python3.6/site-packages/jpeg4py/_cffi.py
将此文件中第198行中的
"libturbojpeg.so.0", #for Ubuntu
修改为
"/home/user/libjpeg-turbo/build-arm/libs-build/lib/libturbojpeg.so.0", #for Ubuntu
此时便可以正常使用jpeg4py以及libjpeg-turbo了。