Quel environnement de travail pour l’analyse de données avec Python ?

Si R est un langage de programmation qui revient souvent dans les articles sur l’analyse de données en Sciences Humaines et Sociales, Python a pour l’instant ma préférence. En effet, dans une petite UMS (Unité Mixte de Service) comme le Centre de Recherche Bretonne et Celtique où l’on doit être au four et au moulin, de la mise en place d’interfaces pour la saisie et la consultation dans des bases de données au traitement, la visualisation et l’analyse des données, Python, langage à tout faire, m’a semblé être un choix judicieux.

Quand vous développez en Python (mais c’est valable dans d’autres langages), vous évitez de réinventer la roue et vous utilisez ce que l’on appelle des librairies, c’est à dire des morceaux de codes développés par des tiers pour des usages spécialisés. Pour le traitement et l’analyse de données, je m’intéresse actuellement à la librairie Pandas (je vous conseille d’ailleurs la lecture du livre Python for Data Analysis par l’auteur de la librairie). Or quand vous utilisez Pandas et les librairies dites « scientifiques » comme NumPy et SciPy, il est habituellement conseillé d’installer des logiciels qui fournissent un environnement de travail clé en main tels que Enthought Canopy ou Anaconda (la bonne version de Python, les librairies scientifiques et leurs dépendances, des outils de mise à jour des libraires, un IDE1, etc.).

J’utilisais jusqu’à présent Anaconda mais je rencontrais depuis quelques temps des problèmes à répétition avec son IDE Spyder. Anaconda installait également bon nombre de librairies dont je n’avais pas l’usage et m’imposait d’anciennes versions de ces librairies pour des raisons de compatibilité. Je suis donc passé à une solution plus légère basée sur Miniconda, la version allégée d’Anaconda, la console IPython et la version gratuite de l’IDE PyCharm, que j’utilise par ailleurs pour la configuration de Django.

Pour installer vous aussi cet environnement de travail sous Windows, commencez par installer Miniconda. Si vous ne savez pas quelle version installer (64 ou 32 bits), regardez les résultats de la détection automatique de version sur cette page du site Microsoft. Pour la version de Python, j’utilise la version 2.7.

Comment faire pour déterminer si un ordinateur exécute une version 32 bits ou 64_2014-12-19_10-33-59

Mettez ensuite à jour la librairie conda à jour (conda est la librairie qui va notamment nous permettre de télécharger et d’installer d’autres librairies) : Lancez l’interpréteur de commandes Windows cmd.exe en tapant « cmd » dans la recherche de programmes et de fichiers du menu Démarrer et cliquez sur cmd.exe.

Pour lancer cmd.exe

Dans la ligne de commande tapez « conda update conda » et validez les éventuelles mises à jour.

conda update conda

Nous allons ensuite procéder à la création d’un environnement virtuel. En effet, quand on utilise Python pour divers usages (développement d’interfaces de bases de données et analyse de données dans mon cas), mieux vaut ne pas mettre tous ses œufs dans le même panier et créer un environnement de développement par usage, c’est à dire un environnement dans lequel sont uniquement installées les librairies nécessaires.

Pour créer l’environnement virtuel « pandas » (j’aurais aussi pu l’appeler « data_analysis »), tapez en ligne de commande « conda create -n pandas python=2 ». Si vous souhaitez utiliser Python 3, remplacez le chiffre 2 par 3. Une fois l’environnement installé, lancez le avec la commande « activate pandas ». Installez ensuite Pandas et IPython par « conda install pandas ipython ».

Installez ensuite la version « Community » de PyCharm. Après la création de votre premier projet de développement d’analyse de données dans PyCharm (menu File > New Project), allez dans le menu File > Settings puis dans Project:nom_de_votre_projet (mon projet s’appelle « Bagnards » dans la capture d’écran ci-dessous car un collègue chercheur m’a demandé d’analyser les données issues des registres du bagne de Brest), créez un nouvel interpréteur en cliquant sur la roue crantée puis sur « Add Local ».

Création d'un interpréteur Python dans PyCharm

Choisissez alors le fichier python.exe qui se trouve dans C:\Miniconda\envs\pandas (le dossier d’installation par défaut de Miniconda).

Choix de l'iterpréteur Python

Sélectionnez ensuite cet interpréteur dans la liste « Project interpreter ».

Choix de l'interpréteur Python

Normalement, PyCharm détecte automatiquement l’installation de IPython et propose ce  terminal amélioré quand vous lancez la console Python depuis le menu Tools > Python Console.

Pour installer des librairies complémentaires (pour l’analyse de données, bien entendu), vous pouvez réutiliser la ligne de commande conda install nom_de_la_librairie.

Vous pouvez aussi le bouton + dans les Settings de PyCharm (voir capture d’écran ci-dessous), mais je vous déconseille de le faire car c’est alors PyCharm qui se chargera de l’installation en utilisant Python Package index (pip) qui utilise un mécanisme différent de Miniconda.

Installer une nouvelle librairie avec PyCharm

Si conda install ne trouve pas votre librairie, cherchez-la sur le site Binstar.org. Par exemple, l’interface améliorée pour l’admin du framework Django, django-grappelli ne peut s’installer par conda install django-grappelli (je sais que le package doit s’orthographier django-grappelli car c’est sous cette appellation qu’il apparait sur le Python Package Index), mais quelqu’un a mis à disposition une des dernières versions du package sur Binstar.org : https://binstar.org/trentonoliphant/django-grappelli. Il est alors possible d’installer Grappelli par la commande conda install -c https://conda.binstar.org/trentonoliphant django-grappelli comme suggéré sur la page du package (voir capture d’écran).

Une des versions du package Grappelli sur binstar.org

Il ne vous reste plus qu’à vous lancer dans l’analyse de données avec Python.

  1. Integrated Development Environment, voir http://fr.wikipedia.org/wiki/Environnement_de_d%C3%A9veloppement []