Databricks Runtime 12.2 LTS中GDAL安装后导入失败求助
在Databricks Runtime 12.2 LTS中正确安装GDAL的方法
问题原因
你之前的初始化脚本安装的是系统级的python3-gdal,但Databricks Runtime使用的是独立隔离的Python环境(路径为/databricks/python),系统Python环境的模块无法被Notebook的Python环境识别,因此会出现ModuleNotFoundError。此外,Maven是Java依赖管理工具,无法用于安装Python版本的GDAL绑定,所以该方法无效。
正确的初始化脚本
使用以下脚本安装GDAL,并确保Python绑定与系统GDAL版本匹配:
dbutils.fs.put("/databricks/scripts/gdal_install.sh",""" #!/bin/bash # 添加UBUNTUGIS源以获取最新GDAL版本 sudo add-apt-repository -y ppa:ubuntugis/ppa sudo apt-get update -y # 安装GDAL二进制文件和开发库 sudo apt-get install -y gdal-bin libgdal-dev # 获取系统GDAL主版本号(如3.4),用于匹配pip安装的Python绑定版本 GDAL_VERSION=$(gdal-config --version | cut -d '.' -f 1,2) # 安装对应版本的Python GDAL绑定 pip install gdal==$GDAL_VERSION.* """, True)
安装步骤
- 在Databricks Notebook中运行上述代码,将初始化脚本上传到指定路径。
- 进入集群配置页面,在初始化脚本部分添加路径
dbfs:/databricks/scripts/gdal_install.sh。 - 重启集群,让脚本生效。
验证安装
集群重启后,在Notebook中执行以下代码验证:
from osgeo import gdal # 打印GDAL版本,确认安装成功 print(gdal.__version__)
注意:新版本GDAL的Python绑定推荐通过
from osgeo import gdal导入,直接import gdal已被逐步废弃,这也是可能导致导入失败的原因之一。
内容的提问来源于stack exchange,提问作者soiryk139
相关产品推荐
相关产品推荐

