Dies sind die offiziellen Python -Bindungen an https://github.com/openvenues/libpostal, einen schnellen statistischen Parser/Normalizer für Straßenadressen überall auf der Welt.
from postal . expand import expand_address
expand_address ( 'Quatre vingt douze Ave des Champs-Élysées' )
from postal . parser import parse_address
parse_address ( 'The Book Club 100-106 Leonard St, Shoreditch, London, Greater London, EC2A 4RH, United Kingdom' )Bevor Sie die Python -Bindungen verwenden, müssen Sie die Bibliothek Libpostal C installieren. Stellen Sie sicher, dass Sie die folgenden Voraussetzungen haben:
Auf Ubuntu/Debian
sudo apt-get install curl autoconf automake libtool python-dev pkg-config
Auf Centos/rhel
sudo yum install curl autoconf automake libtool python-devel pkgconfig
Auf Mac OSX
brew install curl autoconf automake libtool pkg-config
Installation von libpostal
git clone https://github.com/openvenues/libpostal
cd libpostal
./bootstrap.sh
./configure --datadir=[...some dir with a few GB of space...]
make
sudo make install
# On Linux it's probably a good idea to run
sudo ldconfig
Um die Python -Bibliothek zu installieren, laufen Sie einfach aus:
pip install postal
Pypostal unterstützt Python 2.7+ und Python 3.4+. Diese Bindungen werden unter Verwendung der Python C API geschrieben und unterstützen somit nur CPython. Da LibPostal eine eigenständige C -Bibliothek ist, ist die Unterstützung für PYPY mit einem CFFI -Wrapper immer noch möglich, ist aber kein Ziel für dieses Repo.
Stellen Sie sicher, dass Sie die Nase installiert haben, und rennen Sie dann:
python setup.py build_ext --inplace
nosetests postal/tests
Der build_ext --inplace wird das Geschäft benötigt, damit die C -Erweiterungen im Quell -Checkout -Verzeichnis aufbauen und von den Python -Modulen zugänglich sind.