IPython : Découvrir le shell Python au coeur de Jupyter Notebook

-
3
 m de lecture
-

IPython est une version améliorée du shell Python standard, proposant de nombreuses fonctionnalités supplémentaires. Découvrez son histoire, ses avantages et son lien étroit avec le Projet Jupyter.

La distribution standard de Python propose un environnement « REPL » (Read-Evaluate-Print Loop ou Boucle de Lecture Evaluation) sous la forme du shell Python avec le prompt « ».

Toutefois, l’environnement interactif IPython (Interactive Python) offre de nombreuses fonctionnalités supplémentaires par rapport à ce shell Python standard. Il s’agit aussi de la racine du Projet Jupyter.

Qu'est-ce que IPython ?

IPython est un interpréteur Python largement amélioré, créé en 2001 par Fernando Perez. À partir de 2005, une interface notebook pour le shell IPython voit le jour, et d’autres langages comme R et Julia sont ensuite pris en charge.

Près d’une décennie plus tard, en 2014, Fernando Perez a créé le projet Jupyter en tant que « spin-off » de IPython. Pour cause, IPython s’était enrichi d’un serveur notebook et d’une console Qt.

À partir de IPython 4.0, tous les composants additionnels ont été transférés au Projet Jupyter. La prise en charge d’autres langages a été ajoutée au notebook IPython.

À l’heure actuelle, IPython continue à se focaliser sur l’amélioration de ses fonctionnalités d’interpréteur. Il fournit aussi le kernel primaire du notebook Jupyter.

Les avantages de IPython

IPython offre des capacités supplémentaires par rapport à Python. Son premier point fort est un puissant shell Python interactif.

On peut aussi mentionner la mise en lumière de syntaxe, et le système de commande magique très pratique pour contrôler l’environnement Python et effectuer des tâches d’OS. La tab-complétion des mots clés, variables et noms de fonctions est un autre atout.

Ses capacités d’introspection d’objet permettent de vérifier les propriétés d’un objet pendant le runtime. Il propose des fonctionnalités très utiles pour l’exploration, comme l’opérateur « ? » permettant d’indiquer le type et le docstring d’une variable.

S’il s’agit d’une classe ou d’un « callable », la signature du call ou du constructeur s’affiche. En ajoutant un second « ? », le code source apparaît aussi. En outre, il regroupe des outils simples d’usage et hautement performants pour calcul parallèle.

Si une exception survient lors de l’exécution d’un script avec la commande « run », il est possible d’accéder au déboguer Python pdb avec la commande « debug » sans avoir à exécuter à nouveau le script. Il est alors possible d’examiner le script comme il était avant l’exception.

La commande « run-p » affiche une liste indiquant le nombre d’appels pour chaque fonction, et le temps cumulé avec ou sans sous-appels. Ces statistiques permettent de mieux cibler l’optimisation. Tout l’historique des interactions est stocké.

De nombreux programmes Python peuvent être intégrés avec IPython. C’est par exemple le cas de la bibliothèque Matplotlib. Ceci simplifie le scripting de tracés interactifs, et ipython -pylab offre un environnement de visualisation de données comparable à Matlab.

Par ailleurs, IPython fait office de kernel principal pour le notebook Jupyter et d’autres outils front end du Projet Jupyter. C’est donc un outil incontournable en Data Science.

Qu'est-ce que le Projet Jupyter ?

Le Projet Jupyter est un écosystème complet de logiciels dédié au calcul interactif, initialement apparu comme spin-off de IPython. Il regroupe plusieurs outils et programmes.

Le notebook Jupyter est une interface basée sur le web pour les environnements de programmation de Python, Julia R et bien d’autres. La QtConsole est un terminal basé Qt pour les kernels Jupyter similaires à IPython.

Le nbviewer facilite le partage de notebooks Jupyter, et le JupyterLab est une interface intégrée moderne basée sur le web pour tous les produits.

Conclusion : IPython, un interpréteur Python largement amélioré

IPython améliore l’exploration, le débogage ou encore l’optimisation avec Python. Il est également très utile pour le calcul parallèle, et sert de kernel pour les notebooks Jupyter.

Afin d’apprendre à utiliser Python, IPython et Jupter, vous pouvez choisir DataScientest. Nos formations en ligne vous permettent d’acquérir toutes les compétences requises pour exercer les métiers de Data Scientist, Data Analyst, Data Engineer ou Data Manager.

Tous nos parcours se complètent intégralement à distance, et sont éligibles au Compte Personnel de Formation pour le financement. Découvrez dès maintenant DataScientest !

Vous savez tout sur IPython. Pour plus d’informations sur le même sujet, découvrez notre dossier complet sur Python et notre dossier sur les notebooks Jupyter.

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?