如何解决Databricks中libpostal Python封装的安装失败问题?
在Databricks中安装并运行libpostal的解决方案
1. 先安装底层libpostal依赖库
Python的postal包依赖原生的libpostal C库,直接pip安装会因为缺少编译依赖失败,必须先在集群节点上安装系统级依赖:
针对Databricks Runtime(Ubuntu基础)的安装命令
在Databricks笔记本中执行以下单元格(用%sh魔法命令):
# 更新系统包列表 sudo apt-get update -y # 安装编译依赖工具 sudo apt-get install -y curl autoconf automake libtool pkg-config # 克隆并编译安装libpostal git clone https://github.com/openvenues/libpostal cd libpostal ./bootstrap.sh ./configure --datadir=/tmp/libpostal_data make -j4 sudo make install sudo ldconfig
2. 安装Python的postal封装包
依赖安装完成后,执行pip安装命令:
%pip install postal
3. 验证安装是否成功
运行以下代码测试功能:
from postal.expand import expand_address from postal.parser import parse_address # 测试地址扩展与解析 print(expand_address("123 Main St, Anytown USA")) print(parse_address("123 Main St, Anytown USA"))
额外注意事项
- 如果需要集群范围持久化安装,把上述依赖安装步骤写入集群初始化脚本(去掉
%sh前缀),在集群配置的「Advanced Options」->「Init Scripts」中添加,避免每次重启集群重复操作。 - 编译libpostal需要一定资源,建议使用至少2核的实例类型,编译过程大概需要几分钟。
- 大部分Databricks Runtime默认支持sudo命令,若遇到权限问题,可联系管理员确认集群权限配置。
内容的提问来源于stack exchange,提问作者soiryk139
相关产品推荐
相关产品推荐

