升级Python3/GDAL2.3.3后BigTiff无法加载问题求助
解决GDAL无法加载BigTIFF文件的问题
首先,你的问题根源很明确:GDAL 2.3.x版本对BigTIFF的原生支持有限,再加上当前搭配的libtiff 4.0.10适配性不足,而conda默认通道的GDAL包通常没有编译BigTIFF支持,这就是为什么你之前升级要么没变化要么报错。试试下面这些步骤,应该能解决问题:
步骤1:清理现有冲突环境
先把当前环境里可能冲突的GDAL和libtiff彻底卸载,避免版本混乱:
- 用conda卸载:
conda remove --force gdal libtiff - 如果之前用pip装过GDAL,也要卸载:
pip uninstall gdal -y
步骤2:从conda-forge安装带BigTIFF支持的GDAL
conda-forge社区维护的GDAL包通常编译了完整功能(包括BigTIFF支持),版本更新也更及时。推荐创建一个新环境来避免影响现有项目:
- 创建并激活新环境(指定你的Python版本3.7.4):
conda create -n gdal-bigtiff python=3.7.4 conda activate gdal-bigtiff - 安装conda-forge的GDAL(至少选3.0以上版本,对BigTIFF支持更完善):
conda install -c conda-forge gdal>=3.0 - 验证安装:
先在命令行测试GDAL是否能识别BigTIFF:
如果能输出文件的元数据信息,说明库没问题,再回到Python里运行你的代码:gdalinfo path\to\bigtiff\filefrom osgeo import gdal gdalobj = gdal.Open(r"path\to\bigtiff\file") # Windows路径记得用raw字符串或者双反斜杠
步骤3:如果不想创建新环境,尝试强制重装
如果必须在现有环境里修复,可以强制用conda-forge的包覆盖现有安装:
conda install -c conda-forge --force-reinstall gdal libtiff
这个命令会替换掉默认通道的GDAL和libtiff,换成conda-forge的版本,大概率能解决BigTIFF支持问题。
为什么之前的升级没用?
- conda默认通道的GDAL包很多是精简编译的,没有开启BigTIFF支持;
- pip安装的GDAL会依赖系统已有的libtiff,而你系统里的旧版libtiff不支持BigTIFF,导致升级后依然无效;
- GDAL 2.3.x本身对BigTIFF的支持就不如3.x版本完善,升级到3.x以上是关键。
内容的提问来源于stack exchange,提问作者skagitfish
相关产品推荐
相关产品推荐

