Installation de Pytrainer, le logiciel de suivi des entrainements (pour cyclistes, coureurs, rollers..) sous Mandriva
Pytrainer est un logiciel qui permet de suivre ses entraînements sous linux. Associé à un GPS sportif de type Forerunner, Garmin ou Nokia, il récupère vos données et vous permet ensuite d’en extraire statistiques et graphiques. Mais il n’est pas proposé en rpm sous Mandriva. Voici comment je l’ai installé malgré tout.
introduction
Je possède un smartphone Nokia e63 associé à un module GPS LD-4W. Nokia propose le logiciel Nokia Sport Tracker, récemment rebaptisé "Sports Tracker".
Si vous allez sur le site web associé, vous verrez que mon modèle de téléphone n’est pas mentionné parmi les appareils compatibles. C’est la crainte [1] pour laquelle j’ai cherché une solution de substitution libre. PyTrainer permet de récupérer les données à partir de différents GPS mais également sous forme d’import GPX. C’est cette possibilité qui m’a intéressé car Sports Tracker est capable d’exporter ce format.
Télécharger PyTrainer et les prérequis
Il faut aller sur la page officielle Sourceforge pour télécharger la dernière version de PyTrainer (1.7.2 au moment où j’écris cet article).
NOTA : La communauté MIB propose un paquet tout fait ici. Je n’ai pas retenu cette solution pour diverses raisons (non officielle, rend obligatoire leur garmintools...)
Ensuite, décompressez le fichier tar.gz pour prendre connaissance du fichier INSTALL, soit en utilisant votre outil habituel (Archiveur Ark si vous êtes sous environnement KDE), soit en ligne de commande dans une console (konsole, xterm,lxterminal...) :
[user@localhost ~]$ tar -xzvf pytrainer-1.7.2.tar.gz
Ce fichier INSTALL nous donne toutes les dépendances :
exigence Pytrainer | equivalence mandriva RPM i586 | equivalence mandriva RPM x64 |
python-2.6.2 | python-2.6 | python-2.6 |
python-devel-2.6.2 | libpython2.6-devel | lib64python2.6-devel |
python-matplotlib-0.98.5.2 | python-matplotlib | python-matplotlib |
python-dateutil-1.4.1 | python-dateutil | python-dateutil |
gnome-python2-gtkmozembed-2.25.3 | gnome-python-gtkmozembed | gnome-python-gtkmozembed |
pygtk2-libglade-2.16.0 | pygtk2.0-libglade | pygtk2.0-libglade |
pygtk2-2.16.0 | pygtk2.0 | pygtk2.0 |
SOAPpy-0.11.6 | python-soap | python-soap |
python-lxml-2.2.3 | python-lxml | python-lxml |
libxml2-python-2.7.6 | libxml2-python | libxml2-python |
libxml2-2.7.6 | libxml2_2 | libxml2_2 |
libxslt-python-1.1.26 | python-libxslt | python-libxslt |
libxslt-1.1.26 | libxslt1 | libxslt1 |
sqlite-3.6.20 | libsqlite3_0 | lib64sqlite3_0 |
xulrunner-1.9.1.8 | xulrunner | xulrunner |
Et certains paquets sont optionnels :
OPTIONS Pytrainer | equivalence mandriva RPM i586 | equivalent mandriva RPM x64 |
gpsbabel-1.3.5 ("Garmin via GPSBabel 1.3.5" aka garmin_hr) | gpsbabel | gpsbabel |
garmintools-0.10 ("Garmin via garmintools" aka garmintools_full) | indisponible [2] | indisponible [3] |
Voilà, vous avez la liste des paquets à installer. Allez-y. Soit vous utilisez l’outil graphique "gestionnaire de logiciels" du centre de controle mandriva (rpmdrake), soit vous restez en ligne de commande et tapez :
[user@localhost ~]$ su
Mot de passe : (celui de root)
[root@localhost user]# urpmi python-2.6 python-matplotlib (etc...)
en mettant toute la colonne qui vous concerne du tableau précédent à la suite de la ligne urpmi.
Pour ceux qui ne sont pas encore passé en console root (administrateur), il faut le faire maintenant car la commande suivante ne peut se faire qu’en mode "console". Donc lancez votre terminal préféré et tapez :
[user@localhost ~]$ su
Mot de passe : (celui de root)
[root@localhost user]# cd /home/user/Téléchargements/pytrainer-1.7.2/
[root@localhost user]# python setup.py install
Attention : ne lancez pas immédiatement Pytrainer.
En effet, Pytrainer ne trouvera pas libxul.so et vous serez durablement coincé (voir en post-scriptum). Pour éviter cela, il vous faut trouver le fichier libxul.so avec la commande :
[root@localhost user]#find / -name libxul.so
Ce qui peut vous donner plein de réponses mais au moins une :
/usr/lib64/xulrunner-1.9.2.4/libxul.so
/usr/lib64/xulrunner-1.9.2.8/libxul.so
/usr/lib64/xulrunner-1.9.2.6/libxul.so
/usr/lib64/xulrunner-1.9.2.9/libxul.so
/usr/lib64/xulrunner-1.9.2.11/libxul.so
/usr/lib64/xulrunner-1.9.2.10/libxul.so
Choisissez la version la plus récente. Nous allons créer un lien symbolique (un "raccourci") pour aider Pytrainer à trouver ce fichier :
[root@localhost user]#ln -s /usr/lib64/xulrunner-1.9.2.11/libxul.so /usr/lib64/libxul.so
Adaptez cette ligne à votre résultat (notamment /usr/lib/ au lieu de /usr/lib64 et les numéros de version de xulrunner).
Conclusion
Voilà ! Cette fois-ci, votre installation devrait fonctionner. Il reste à taper la commande « pytrainer -i » après être redescendu en utilisateur simple (et non plus root) pour lancer enfin PyTrainer.
Dans un article à venir, je décrirais l’import de données à partir de Sports Tracker.
Post-Scriptum
Si rien ne se passe au lancement de pytrainer, ouvrez une console et lancez dans la console « pytrainer -d » pour voir les éventuels messages d’erreur. Ils sont également accessibles dans votre dossier /home/user/.pytrainer/log.out
S’il n’y a aucun message d’erreur mais juste ça :
[user@localhost ~]$pytrainer -d
data_path: /usr/share/pytrainer/
DIR: /usr/share/locale
site_path: /usr/lib/python2.6/site-packages
[user@localhost ~]$
Vous êtes dans la même situation que moi, confronté à un bug qui n’est pas corrigé dans la version publique mais l’est dans la version "développement". Je suis donc passé par l’utilisation de la version développement (à obtenir par l’outil svn) comme indiqué sur la page développement. Pour cela, il faut installer le RPM « svn » puis taper :
[user@localhost ~]$ svn co https://pytrainer.svn.sourceforge.net/svnroot/pytrainer
[user@localhost ~]$ su
Mot de passe : (celui de root)
[root@localhost user]# cd trunk
[root@localhost user]# python setup.py install
[MISE A JOUR] La dernière version de Pytrainer nécessite python-sql-migrate dans une version très récente, il n’est donc plus installable sous mandriva 2010.2 et nécessite mandriva 2011.