numpy.distutils已弃用,Python3.12.7下如何安装libtiff?
解决Python3.12安装libtiff失败及TIFF图像迭代读取问题
方案一:安装修复依赖的libtiff分支
原libtiff包依赖已弃用的numpy.distutils,可以安装社区修复的fork版本,适配新numpy和Python3.12:
pip install git+https://github.com/pearu/pylibtiff.git@fix-numpy-distutils
安装完成后,你原来的代码可以正常运行,tif.iter_images属性不受影响。
方案二:降级numpy以兼容原libtiff
如果不想用第三方fork,可先降级numpy到1.25.x版本(该版本仍保留numpy.distutils),再安装libtiff:
pip install numpy==1.25.2 pip install libtiff
安装完成后,若后续需要更高版本numpy,可尝试升级,但需测试代码兼容性,避免依赖问题复发。
方案三:用tifffile替代实现迭代读取
如果上述方案都不适用,推荐使用tifffile库,它原生支持Python3.12,无需依赖废弃模块,且能实现与iter_images相同的功能:
首先安装库:
pip install tifffile
然后替换代码为:
from tifffile import TiffFile with TiffFile(tiff_image) as tif: # 迭代读取所有图像页,等价于tif.iter_images for page in tif.pages: image = page.asarray() # 这里添加你的图像处理逻辑
tifffile支持更多TIFF格式特性,稳定性更强,是当前Python处理TIFF图像的主流选择之一。
内容的提问来源于stack exchange,提问作者user3720389
相关产品推荐
相关产品推荐

