XD blog

blog page

ipython, notebook, pyensae, python, r


2014-02-24 Travailler avec IPython notebook

Si l'environnement que R proposait était il y a encore quelques temps le meilleur compromis pour quiconque voulait faire des statistiques ou du machine learning, de mon point de vue, IPython a changé la donne. On peut toujours travailler avec un éditeur texte classique, ou avec une ligne de commande similaire à celle de R ou encore utiliser les notebook. Un notebook, c'est un peu comme une page blanche ou on mélange à la fois du texte, du code, des graphiques, des équations et même du javascript. C'est très pratique lorsqu'on cherche sa partition. Entendez par là que vous avez un problème à résoudre mais pas encore la solution. Il faut donc expérimenter. Cette page blanche vous permet facilement de garder une trace de tous vos essais et de les annoter puis de rédiger le document final. Pour vous en convaincre, il suffit d'aller voir la gallerie suivante (également A gallery of interesting IPython Notebooks), et on peut faire des choses assez marrantes (XKCDify) voire même utiliser R depuis IPython (Using R Within the IPython Notebook).

Pour essayer, l'option la plus rapide et de télécharger la distribution WinPython qui contient tous les packages intéressants pour un statisticien (ou data scientist). Il ne vous faudra pas très longtemps pour lancer le notebook et de là, découvrir par vous-même comment cela fonctionne. Il n'y a pas trente six mille boutons et tout est plutôt intuitif.

Il est possible de modifier deux ou trois choses pour éviter d'avoir à les refaire à chaque fois. Pour cela, il faut d'abord créer un fichier de configuration depuis une ligne de commande (dans le répertoire C:\Python33\Scripts ou celui de WinPython :

ipython3 profile create

Cette instruction crée un fichier C:\Users\[user]\.ipython\profile_default\ipython_notebook_config.py qu'il faut ouvrir pour changer :

Finalement, si vous souhaitez convertir votre notebook au format HTML, il suffit d'écrire sur une ligne de commande depuis le répertoire [python]/Script:

set path=%path%;C:\Users\username\AppData\Local\Pandoc
ipython3 nbconvert --to html "example pyensae-checkpoint.ipynb" --template full --output="notehtml\example pyensae"

La première ligne ajoute le chemin de pandoc qui doit être installé avant de pouvoir convertir le notebook au format HTML. Le résultat est celui-ci : example pyensae.

Dernière remarque, si vous utilisez WinPython, tout se déroule de la même façon excepté le chemin d'installation. Il existe un raccourci IPython Notebook.exe. Il est possible que celui-ci n'appliquent pas les changements opérés plus haut. Dans ce cas, il faut lancer le notebook depuis le répertoire WinPython-32bit-3.3.3.3\python-3.3.3\Scripts et écrire ipython3 notebook.

D'habitude, je change un navigateur différent de celui par défaut pour utiliser le notebook. L'icône a une couleur différente et je le retrouve plus facilement. Pour ce faire, il suffit le paramètre suivant dans le fichier de configuration.

import webbrowser
webbrowser.register('[nom]', None, webbrowser.GenericBrowser(r'C:\Program Files (x86)\...chemin du navigateur'))
c.NotebookApp.browser = '[nom]'

Une fois le profile créé (ou non), il existe un programme dans le répertoire Scripts dans le répertoire d'installation de python.

ipython3 notebook --notebook-dir=<folder_notebooks>

Et au prélable, sous Windows, pour cela marche, il faut ajouter ce répertoire aux chemins PATH :

set path=%path%;c:\Python34;c:\Python34\Scripts

Pour utiliser un notebook, il suffit de le copier dans le répertoire <folder_notebooks>.


<-- -->

Xavier Dupré