克隆libpostal后运行pypostalwin遇FileNotFoundError:缺失address_parser.exe
问题解答
1. 仓库下载是否有误?
没有错误。你克隆的是libpostal的官方源码仓库,里面仅包含C语言的源文件(.c/.h),编译生成的可执行文件(如address_parser.exe)并不会包含在源码仓库中,所以找不到该文件是正常现象——这个文件需要通过编译源码才能生成。
2. 无需依赖MSYS2的解决办法
使用预编译的Windows二进制包
寻找第三方已编译完成的libpostal Windows版本,下载对应的address_parser.exe及相关动态链接库(.dll),将它们放到你克隆的libpostal仓库的src目录下,或者在pypostalwin的初始化代码中指定这些文件的路径。借助WSL(Windows子系统)运行
如果工作电脑允许启用WSL,直接在WSL环境中安装libpostal和pypostal:# 安装依赖 sudo apt-get install curl autoconf automake libtool pkg-config # 克隆并编译libpostal git clone https://github.com/openvenues/libpostal.git cd libpostal ./bootstrap.sh ./configure --datadir=/usr/local/share/libpostal make sudo make install sudo ldconfig # 安装pypostal pip install postal之后在WSL的Python环境中运行代码即可,无需依赖MSYS2。
替换为纯Python地址解析库
如果只是需要地址解析功能,可以改用无需编译C库的纯Python库:usaddress:专注美国地址解析,直接pip install usaddress即可使用pyap:支持多国地址解析geopy:结合第三方地址服务实现地址解析
内容的提问来源于stack exchange,提问作者vicefreak04
相关产品推荐
相关产品推荐

