Choisir son interface de développement pour coder en python

Emmanuel Jakobowicz Mis à jour le : 12 février 2021 méthode, python Laissez un commentaire

Vous voulez vous lancer avec python, bonne nouvelle ! Vous avez commencé à regarder des sites, vous comprenez un peu le langage, vous avez été sur le site de python (www.python.org). Et maintenant ? Quelle interface de développement choisir ?

Il vous faut une interface pour développer car python sans ce qu'on appelle une IDE, c'est un peu léger, ça donne ça :

python shell

ça ne vous dit rien de coder là-dedans ? C'est bien normal et ça n'est pas l'objectif. Dans cet article je vais vous présenter quelques interfaces de développement qui vous faciliteront la vie en python.

VS code - la référence actuelle

VS Code, c'est l'interface de développement open source de Microsoft. Et oui, vous avez bien lu, c'est un produit Microsoft et pourtant il est bien en première position. Alors pas d'inquiétude, pas besoin d'être en Windows pour l'utiliser, il est multi-plateformes (Mac, Linux, Windows).

C'est aujourd'hui l'outil le plus complet et le mieux intégré dans l'écosystème python. Pour déboguer, versionner, partager, il y a des solutions pour tous les usages.

interface VS code

Visual Studio Code, de son petit nom VSCode, est idéal pour les gros projets python avec des structures complexes. Il s'intègre bien avec Anaconda ou les environnements pipenv. Une fois paramétré, ça deviendra votre outil de prédilection pour développer.

Il permet de changer de langage (si vous êtes utilisateur de python et de R par exemple).

Il permet d'ouvrir des Notebooks Jupyter et d'intégrer des outils de gestion de la qualité de votre code.

Récupérez-le ici : https://code.visualstudio.com/

PyCharm - le spécialiste gros projets python

PyCharm est un des acteurs historique du langage python. Cet interface de développement qui comporte deux versions (une community gratuite et une payante) a tous les atouts pour gérer vos gros projets python.

Nous ne parlerons ici que de la version Community qui possède la majorité des outils nécessaires au développeur. Avec une bonne gestion de Git et des environnements python, vous serez rapidement opérationnel pour vos projets complexes en python.

Image

On pourra juste regretter que l'intégration des Notebooks n'est possible qu'en version payante, mais il faut bien garder quelques avantages à cette version.

Essayez-le ici : https://www.jetbrains.com/fr-fr/pycharm/download/

Jupyter - pour l'exploration de données

Jupyter est un projet open-source qui a révolutionné le traitement des données en python. Il est issu du projet iPython notebook et est composé de deux interfaces de développement :

  • Jupyter Notebook : il s'agit de l'interface historique qui s'ouvre dans votre navigateur et qui vous permet d'éditer un notebook directement.
  • Jupyter Lab : l'évolution des notebooks qui intègre un environnement de développement plus complet.

L'écosystème Jupyter est vraiment un écosystème complètement différent des interfaces de développement classiques, il est avant tout basé sur des Notebooks et sert surtout à l'exploration et la visualisation de données. Il faut le voir comme un complément aux interfaces de développement classiques et non comme un remplaçant.

Image

Jupyter Lab va vous permettre de gérer plusieurs tâches en même temps dans votre navigateur et vous permettra de travailler dans différents langages (que ce soit python, R, C++...). Avec un écosystème de widgets, vous pourrez créer des Notebooks interactifs liés à vos projets python.

On peut aussi gérer le versionnement des notebooks avec Jupytext.

Pour plus de détails, voici un de nos articles sur Jupyter Lab : JupyterLab pour donner plus de pouvoir à vos Jupyter Notebooks

Le projet Jupyter est accessible ici : https://jupyter.org/

Pour installer Jupyter, utilisez les commandes :

  • avec conda :
    conda install -c conda-forge jupyterlab
  • avec pip:
    pip install jupyterlab

Spyder - pour rester dans un contexte familier

Spyder est une interface de développement spécialement conçue pour les utilisateurs orientés data. Il est inspiré des interfaces de développement de R et de Matlab (vous trouverez des modes d'affichage Rstudio et Matlab).

Pour les utilisateurs data vous retrouverez une fenêtre avec votre console, une avec votre code et un explorateur de variables bien pratique si vous désirez visualiser les données chargées dans votre environnement python.

Spyder IDE

Spyder sera parfaitement adapté pour des projets de taille intermédiaire orientés data. Il permet de combiner une partie exploration de données et gestion de projet de développement.

Si vous avez installez Anaconda, vous avez accès directement à Spyder depuis Anaconda.

Sinon, vous trouverez tout ce dont vous avez besoin ici : https://www.spyder-ide.org/

Conclusions

Alors, à vous de choisir ! Rien de plus simple, tous ces outils sont accessibles gratuitement et sont faciles à configurer.

Un dernier conseil : la combinaison d'outils est souvent la bonne approche. Jupyter pour l'exploration et un des 3 autres pour le développements de votre projet. A vous de jouer !!!!

Venez découvrir python et ses intefaces de développement avec stat4decision

Partager cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.