You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ubuntu系统中修改PIL使用的Image.core.jpeglib版本

解决步骤

1. 卸载原有冲突依赖

首先移除系统自带的libjpeg9版本和当前Python环境中已安装的Pillow,避免版本冲突:

  • 卸载系统原生libjpeg相关包:sudo apt remove -y libjpeg-dev libjpeg-turbo*
  • 卸载当前Python环境的Pillow:pip uninstall -y pillow
  • 安装编译所需基础工具:sudo apt install -y build-essential

2. 编译安装jpeglib v8

获取jpeglib v8版本的源码包后执行以下操作:

  • 解压源码包:tar -zxvf jpegsrc.v8d.tar.gz && cd jpeg-8d
  • 配置编译参数:./configure --prefix=/usr/local --enable-shared --enable-static
  • 编译并安装:make && sudo make install
  • 刷新系统动态库缓存,让系统识别新安装的jpeglib版本:sudo ldconfig

3. 重新编译安装Pillow

必须重新编译Pillow使其绑定刚安装的jpeglib v8,建议选择和Windows环境完全相同的Pillow版本,避免其他逻辑差异:

pip install --no-cache-dir --global-option="build_ext" --global-option="--jpeg-libs=/usr/local/lib" --global-option="--jpeg-includes=/usr/local/include" pillow==<Windows侧Pillow版本号>

将命令中的<Windows侧Pillow版本号>替换为你Windows环境实际使用的Pillow版本即可。

4. 验证配置正确性

执行以下Python代码验证Pillow绑定的jpeglib版本:

from PIL import features
print(features.version_feature('jpeg'))

输出为8.x版本即代表配置生效,之后读取测试图片对比和Windows侧的数组输出即可。

提示:如果后续需要恢复系统默认的jpeglib版本,进入jpeg-8d源码目录执行sudo make uninstall,再重新安装系统原生的libjpeg-dev和Pillow即可。

内容的提问来源于stack exchange,提问作者JP1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 04:00:04