libicu-dev (PyICU dependency)
brew uninstall --ignore-dependencies icu4c
brew install pkg-config icu4c # keg-only
PyICU (pypostal dependency)
pip uninstall pyicu
export PATH="/usr/local/opt/icu4c/bin:/usr/local/opt/icu4c/sbin:$PATH"
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/icu4c/lib/pkgconfig"
# ensure system clang is used for proper libstdc++ https://github.com/ovalhub/pyicu/issues/5#issuecomment-291631507
unset CC CXX
pip install --no-binary=:pyicu: pyicu # avoid wheels from previous runs or PyPI
libpostal (pypostal dependency)
One-liner (using HEAD as v1.1 was released in 2018):
brew install --HEAD robsalasco/libpostal/libpostal
Or manually:
brew install curl autoconf automake libtool pkg-config gcc@8
export CC="/usr/local/bin/gcc-8"
alias gcc="gcc-8"
git clone https://github.com/openvenues/libpostal.git
cd libpostal
./bootstrap.sh
./configure --datadir="${HOME}/.libpostal"
make -j4
sudo make install
pip install postal
# test installation by parsing an example address
python -c "from postal.parser import parse_address; my_address = '123 Beech Lake Ct. Roswell, GA 30076'; print({v: k for k, v in dict(parse_address(my_address)).items()})"
# {'house_number': '123', 'road': 'beech lake ct.', 'city': 'roswell', 'state': 'ga', 'postcode': '30076'}
Thank you SO much for responding @ddelange. I still can't get the postal scrubbing to work in scrubadub.py, but that's a problem for another day. It's not because it can't find libpostal, at least. The likelihood of there being postal data in this repository is nil, so I'm going to leave it for now.