Windows系统安装libpostal库失败,尝试多套官方教程仍无法解决
Windows libpostal 安装解决方案
前置依赖
提前安装好Visual Studio 2019 C++ Build Tools、MSYS2 MinGW 64位环境、Windows 10 SDK。
步骤1:MSYS2编译libpostal核心库
打开MSYS2 MinGW 64-bit终端,依次执行以下命令:
pacman -Syu --noconfirm pacman -S autoconf automake curl git make libtool gcc mingw-w64-x86_64-gcc --noconfirm # 拉取libpostal官方源码到C盘根目录的libpostal_build文件夹 git clone https://github.com/openvenues/libpostal.git /c/libpostal_build cd /c/libpostal_build cp -rf windows/* ./ ./bootstrap.sh ./configure --datadir=/c/libpostal_data --prefix=/c/libpostal_build/output make -j$(nproc) make install
编译完成后,所有生成的头文件、动态库都会存储在C:\libpostal_build\output目录下,无需手动拷贝头文件。
步骤2:生成MSVC兼容的静态链接库
打开「x64 Native Tools Command Prompt for VS 2019」终端,依次执行:
cd C:\libpostal_build lib.exe /def:libpostal.def /out:postal.lib /machine:x64 copy postal.lib C:\libpostal_build\output\lib\
步骤3:修改pypostal源码适配MSVC编译规则
在VS工具终端中继续执行:
# 下载pypostal源码包 pip download postal --no-deps tar -zxvf postal-1.1.9.tar.gz cd postal-1.1.9
找到目录下的setup.py文件,删除编译参数中的-std=c99字段,保存修改。
该参数为GCC专属参数,MSVC编译器不识别,会触发告警甚至编译中断。
步骤4:编译安装pypostal
在pypostal源码目录下继续执行:
python setup.py build_ext --include-dirs=C:\libpostal_build\output\include --library-dirs=C:\libpostal_build\output\lib python setup.py install
步骤5:配置运行环境
将C:\libpostal_build\output\bin路径添加到系统环境变量PATH中,重启所有终端后验证安装:
from postal.expand import expand_address print(expand_address('北京市西城区复兴门内大街1号'))
正常返回地址扩展结果即为安装成功。
内容的提问来源于stack exchange,提问作者Fox White
相关产品推荐
相关产品推荐

