#1 Fri 26 August 2016 09:29
- BrunoGee
- Juste Inscrit !
- Lieu: Nouméa
- Date d'inscription: 24 Jun 2016
- Messages: 2
Addok, le géocodeur
Bonjour,
A la recherche d'un géocodeur opensource, j'ai découvert addok : http://addok.readthedocs.io/en/0.5.x/
C'est le géocodeur utilisé par https://adresse.data.gouv.fr/
Il y a un super billet expliquant l'installation sur ubuntu 14.04 : http://geotribu.net/node/811
Mais ubuntu server 16.04 LTS est arrivé !
Et j'ai quelques soucis à faire marcher le géocodeur.
Voici les commandes effectués :
- Installation des paquets
Code:
sudo apt-get install redis-server python3 python3-dev python-pip python-virtualenv virtualenvwrapper
- Création d'un répertoire
Code:
sudo mkdir /ban && cd /ban
- Création d'un environnement virtuel :
Code:
sudo virtualenv addok –python=/usr/bin/python3.5
Dans la doc officielle, cette commande est : mkvirtualenv addok --python=/usr/bin/python3.4 mais mkvirtualenv n'est pas reconnu
- Activation de l'environnement virtuel :
Code:
source addok/bin/activate
- installation de Addok
Code:
sudo -H pip install addok
Je test avec une donnée qui devrait marcher : le département du Finistère :
Code:
wget http://bano.openstreetmap.fr/data/bano-29.json.gz gzip -d bano-29.json.gz
- Import des données dans Redis :
Code:
addok batch /home/adminuser/ban/bano-29.json
Et là, ça plante :
Code:
Traceback (most recent call last): File "/usr/local/bin/addok", line 9, in load_entry_point('addok==0.5.0', 'console_scripts', 'addok')() File "/usr/local/lib/python2.7/dist-packages/addok/bin/__init__.py", line 43, in main from addok import config File "/usr/local/lib/python2.7/dist-packages/addok/config/__init__.py", line 5, in from .default import * # noqa File "/usr/local/lib/python2.7/dist-packages/addok/config/default.py", line 2, in from pathlib import Path ImportError: No module named pathlib
Des idées pour trouver la solution ?
A ceux qui se demandent pourquoi faire un serveur de géocodeur alors qu'il existe déjà...
Je suis en Nouvelle-Calédonie et la base adresse ne prend pas en compte la Calédonie.
Alors, venez essayer http://geo.nc/ et cherchez une adresse sur Nouméa ou un numéro de tel ;-)
Hors ligne
#2 Mon 29 August 2016 16:45
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1160
Re: Addok, le géocodeur
Salut,
J'ai très peu d'expérience avec python mais si vous essayez çà ?
Code:
sudo -H pip install pathlib
De ce que je lis pathlib fait partie de la bibliothèque standard seulement depuis python 3.3
(https://pypi.python.org/pypi/pathlib/),
or selon votre stacktrace, python a plutôt l'air d'essayer de trouver pathlib dans /usr/local/lib/python2.7
( A tout hasard, vous avez aussi peut être oublié un - dans la commande
Code:
sudo virtualenv addok –python=/usr/bin/python3.5
)
Dernière modification par tumasgiu (Mon 29 August 2016 16:57)
Hors ligne
#3 Tue 01 November 2016 22:04
Re: Addok, le géocodeur
Bonjour,
Etes vous sur que Addok gère python3 ?
Je déplace le sujet sur Geolibre-wewb.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#4 Tue 01 November 2016 23:00
Re: Addok, le géocodeur
Bonjour,
Yves, pour info, Addok gère Python 3, c'est sûr car il a été conçu pour fonctionner avec Python 3 (il n'y a jamais eu de version officielle en 2.x)
Il faut deux tirets (sinon l'option n'est pas correctement prise) et enlever le sudo (le but des environnements virtuels dans Python, c'est de séparer les choses alors qu'utiliser sudo c'est utiliser l'environnement système).
Code:
virtualenv addok --python=/usr/bin/python3.5
Après l'utilisation de
Code:
source addok/bin/activate
Vous ne devez jamais utiliser sudo à nouveau sinon vous ferez des opérations avec le Python 2.7 du système et cela plantera
Donc
Code:
sudo -H pip install addok
doit devenir
Code:
pip install addok
Normalement, vous ne devriez plus rencontrer de problèmes.
Cordialement
Thomas
PS: Je suis "l'auteur" de l'article côté Géotribu (une quasi-traduction...)
Dernière modification par ThomasG (Tue 01 November 2016 23:01)
Hors ligne