gpt4 book ai didi

python - 查找 PIL/PILLOW 使用的是哪个 libjpeg

转载 作者:太空宇宙 更新时间:2023-11-03 13:17:34 26 4
gpt4 key购买 nike

我收到一个错误,在两台不同的计算机上读取同一个 lena.jpg 文件会产生两个不同的校验和。

更奇怪的是,当我运行 md5sum lena.jpg 时,我在两台机器上得到了相同的 md5 和,所以文件是相同的。

此外,当我加载 png 而不是 jpeg 时,数字似乎匹配。这让我相信两台不同机器上的 Pillow 之间存在断开连接,或者至少是他们用来读取 jpeg 文件的库。

有什么方法可以检查 Pillow 使用的是哪个版本的 libjpeg(最好是在 Python 中)?

两台电脑都是 Ubuntu,虽然一台是 12.04,一台是 14.04(我也在 mac 上测试过,得到的值和 14.04 一样)

最佳答案

首先,找到您的 Python 安装正在使用的 PIL egg:

>>> import PIL
>>> PIL.__path__
['/usr/local/python/2.7.3/lib/python2.7/site-packages/PIL']

然后在该目录中找到 _imaging.so 并使用 ldd (Linux) 或 otool -L (OS X) 找出是什么libjpeg 的链接版本:

Linux

$ ldd /usr/local/python/2.7.3/lib/python2.7/site-packages/PIL/_imaging.so
linux-gate.so.1 => (0x00641000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x00f00000)
libz.so.1 => /lib/libz.so.1 (0x006f4000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00fad000)
libc.so.6 => /lib/libc.so.6 (0x0021b000)
/lib/ld-linux.so.2 (0x0067e000)

Mac OS X

$ otool -L /Users/lukas/src/pillow-env/lib/python2.7/site-packages/PIL/_imaging.so
/Users/lukas/src/pillow-env/lib/python2.7/site-packages/PIL/_imaging.so:
/usr/local/lib/libjpeg.8.dylib (compatibility version 13.0.0, current version 13.0.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/local/lib/libtiff.5.dylib (compatibility version 8.0.0, current version 8.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)

关于python - 查找 PIL/PILLOW 使用的是哪个 libjpeg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24396727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com