Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 ven. 26 août 2016 09:29

BrunoGee
Membre
Lieu: Nouméa
Date d'inscription: 24 juin 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 lun. 29 août 2016 16:45

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 juil. 2010
Messages: 485

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 (lun. 29 août 2016 16:57)

Hors ligne

 

#3 mar. 01 novembre 2016 22:04

Yves
Moderateur
Lieu: Aix-les-Bains
Date d'inscription: 22 mars 2006
Messages: 8830
Site web

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 mar. 01 novembre 2016 23:00

ThomasG
Membre
Lieu: Nantes
Date d'inscription: 9 sept. 2005
Messages: 790
Site web

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 (mar. 01 novembre 2016 23:01)

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |