Python est partout. Ces jours-ci, il semble qu’il alimente tout, des principaux sites Web aux utilitaires de bureau en passant par les logiciels d’entreprise. Python a été utilisé pour écrire tout ou partie de projets logiciels populaires comme dnf/yum, OpenStack, OpenShot, Blender, Calibre et même le client BitTorrent original.
Il se trouve également être l’un de mes langages de programmation préférés. Personnellement, Python a été mon langage de prédilection au fil des ans pour tout, des projets de classe à l’université aux minuscules scripts qui m’aident à automatiser des tâches récurrentes. C’est l’un des rares langages existants qui est à la fois facile à prendre en main pour les débutants tout en étant incroyablement puissant lorsque les débutants passent au stade du travail sur des projets du monde réel.
Pour éditer des programmes Python, vous avez un certain nombre d’options. Certaines personnes préfèrent un éditeur de texte de base, comme Emacs, Vim ou Gedit, qui peuvent tous être étendus avec des fonctionnalités comme la coloration syntaxique et la complétion automatique. Mais beaucoup d’utilisateurs expérimentés travaillant sur de grands projets avec des bases de code complexes préfèrent un environnement de développement intégré (IDE) à la combinaison éditeur de texte + terminal. Un EDI est essentiellement un éditeur de texte, mais avec de nombreuses fonctionnalités supplémentaires, parfois spécifiques à un ou deux langages de programmation, pour aider le programmeur à suivre le projet dans son ensemble. Par exemple, la plupart des IDE conservent un cache des noms de classes, de fonctions et de variables afin qu’ils puissent être autocomplétés rapidement. D’autres disposent d’outils de débogage, de vérification instantanée de la logique et des erreurs, et ainsi de suite.
La frontière entre un éditeur de texte avancé et un IDE mince n’est pas toujours claire. À mesure que vous gagnez en expérience, vous développez généralement une opinion sur les fonctionnalités que vous considérez comme essentielles pour vos besoins de développement, et même celles-ci dépendent parfois du projet sur lequel vous travaillez.
Voici quelques-unes des options les plus populaires disponibles pour les développeurs Python. Toutes sont multiplateformes, elles peuvent donc être utilisées sur le système d’exploitation de votre choix.
Eric
Eric est un IDE favori commun pour l’édition Python. Nommé d’après Eric Idle de Monty Python, Eric est en fait écrit en Python en utilisant le framework Qt.
Eric fait appel à Scintilla, un composant d’édition de code source utilisé dans un certain nombre d’IDE et d’éditeurs différents, et qui est également disponible en tant qu’éditeur autonome SciTE.
Les fonctionnalités d’Eric sont similaires à celles d’autres IDE : correspondance d’accolades, complétion de code, navigateur de classes, tests unitaires intégrés, etc. Il dispose également d’une fonction d’aperçu des formulaires Qt, ce qui est utile si vous développez une interface graphique Qt pour votre application. J’aime personnellement la fonction de liste de tâches intégrée.
Si vous êtes nouveau dans les IDE en tant que concept, Eric peut prendre un certain temps à maîtriser, et vous pourriez vous demander si l’apprentissage d’un IDE spécifique à seulement Python vaut l’investissement en temps. Je trouve qu’Eric est un excellent environnement de programmation, léger mais complet, et l’apprendre peut aider la qualité de votre code et vous familiarise avec les conventions communes à tous les IDE.
Eric est disponible sous la GPL version 3.
Pyzo
Pyzo est un éditeur basé sur Qt avec un navigateur de fichiers intégré, un aperçu du projet, un journal, un débogueur, un traqueur d’indentation et bien plus encore. Il se considère comme une alternative à MATLAB, même si en réalité c’est un éditeur utile pour tout projet Python, pas seulement ceux qui traitent des mathématiques et des sciences avancées.
Parce qu’il est construit avec Qt, votre espace de travail est hautement configurable. Vous pouvez déplacer les panneaux pour les adapter à votre flux de travail ou pour simuler une disposition spécifique de l’IDE à laquelle vous êtes habitué. La possibilité d’afficher et de masquer les panneaux d’outils en fonction des informations que vous voulez avoir sous les yeux peut être un moyen utile de vous aider à vous concentrer, et parce que vous pouvez attribuer presque chaque option à une combinaison de touches spécifique, vous pouvez garder votre éditeur Pyzo fluide et dynamique.
Pyzo est un IDE simple, ce n’est pas un écosystème entier comme Eclipse. Il n’a pas d’architecture de plugin (à part le fait d’être open source et donc intrinsèquement piratable), et son objectif principal est de rester hors de votre chemin, sauf pour aider à garder la trace de votre code.
Spyder
L’IDE Spyder, comme Pyzo, cible les scientifiques de données comme son public. Contrairement à Pyzo, Spyder est un véritable environnement à lui tout seul. Il s’agit d’une application volumineuse, complexe et riche en fonctionnalités, dotée de panneaux permettant d’afficher les données rendues, la sortie du code, les journaux, l’historique, et bien plus encore. Il peut être téléchargé seul, ou dans le cadre d’un bundle avec la distribution Anaconda, une boîte à outils de programmation populaire utilisée par les programmeurs Python et R.
PyCharm
PyCharm est un autre éditeur Python populaire. Il existe deux versions de PyCharm, et l’édition gratuite et open source de PyCharm est l’édition communautaire, disponible sous la licence Apache 2.0.
PyCharm propose à peu près tout ce que l’on peut espérer d’un IDE : tests unitaires intégrés, inspection du code, contrôle de version intégré, outils de refactoring du code, divers outils de navigation dans le projet, ainsi que les fonctions de surlignage et de complétion automatique que l’on attend de tout IDE.
Pour moi, le principal inconvénient de PyCharm est son modèle de noyau ouvert. De nombreuses fonctionnalités avancées de PyCharm ne sont pas disponibles sous une licence open source, et pour moi, c’est un cas de rupture. Cependant, si vous ne cherchez pas à utiliser les fonctionnalités avancées incluses dans la verion closed source, le fait d’avoir les fonctionnalités laissées de côté peut laisser PyCharm comme un choix simple et relativement léger pour l’édition de Python.
Eclipse avec PyDev
Il est difficile d’écrire quoi que ce soit sur les environnements de développement intégrés open source sans couvrir Eclipse, qui a une énorme communauté de développeurs et d’innombrables plugins disponibles, ce qui vous permet de le personnaliser pour répondre à presque tous les besoins que vous pouvez imaginer. Mais cette approche « kitchen sink » est également l’un des inconvénients d’Eclipse. Selon vos besoins, il peut sembler gonflé ou trop complexe.
Cela dit, si vous venez à Python à partir d’un contexte dans un langage différent, en particulier Java, alors Eclipse peut déjà être un IDE familier. Et si vous utilisez ses nombreuses fonctionnalités, vous pouvez trouver la vie sans elles difficile. Même si vous êtes novice en programmation, Eclipse peut être un excellent IDE pour commencer, car une fois que vous l’avez appris, vous pouvez probablement l’utiliser pour la plupart ou tout ce sur quoi vous travaillez, quel que soit le langage.
PyDev ajoute un nombre énorme de fonctionnalités à Eclipse, bien au-delà de la simple mise en évidence du code. Il gère la complétion de code, intègre le débogage Python, ajoute un navigateur de jetons, des outils de refactoring, et bien plus encore. Dans le cas où vous travaillez avec le populaire framework web Python Django, alors vous pouvez tirer parti de PyDev pour créer de nouveaux projets Django, exécuter des actions Django avec des touches de raccourci et utiliser une configuration d’exécution distincte spécifique à Django.
Eclipse et PyDev sont tous deux disponibles sous la licence publique Eclipse.
Autres options intéressantes
La liste des éditeurs Python open source et des environnements de développement intégrés est longue. Voici quelques autres valeurs sûres intéressantes.
- PyScripter, LeoEditor et PTK (le kit d’outils Python) sont des outils pour travailler avec du code Python. Et bien sûr, il y a IDLE, l’IDE par défaut empaqueté avec Python.
- Geany, Atom et Brackets sont des éditeurs de code à usage général avec un support Python par le biais de plugins.
- Netbeans et VS Codium sont des IDE à usage général open source qui, comme Eclipse, peuvent être transformés en éditeurs Python avec des plugins et des extensions sélectionnés.
- La plupart des éditeurs de code extensibles sont susceptibles de présenter un support Python. Par exemple, Emacs peut être un IDE Python à part entière si vous savez quels paquets et quelles configurations utiliser. L’éditeur KDE Kate dispose par défaut de la coloration syntaxique, de la réduction de code et de la prise en charge des répertoires de projet, ainsi que d’autres extensions pour vous aider en cours de route.
La chose importante à comprendre à propos d’un IDE ou d’un éditeur Python est que le meilleur choix est celui qui résout un problème. Si vous êtes submergé par les options et les configurations, alors le choix d’un IDE ou d’un éditeur de texte léger et simple peut être approprié. Si vous voulez quelque chose qui vous aide à écrire un code plus propre avec moins d’erreurs, alors un éditeur riche en fonctionnalités avec mise en cache et linting pourrait vous être plus utile. Essayez quelques-uns de ceux énumérés ici, ou ceux que vous trouverez par vous-même, et voyez lequel vous convient le mieux. Après tout, l’une des forces de l’open source est le choix.
Ce n’est pas une liste exhaustive des solutions d’édition Python. Pour une liste (presque) complète, consultez les listes d’environnements de développement intégrés et d’éditeurs pour Python de la Python Foundation. Avons-nous manqué votre favori ? Faites-le nous savoir dans les commentaires ci-dessous, et dites-nous pourquoi c’est votre meilleur choix.
Cet article a été initialement publié en octobre 2015 et a été mis à jour pour inclure des informations supplémentaires.
Vous souhaitez lire d’autres articles comme celui-ci ? Inscrivez-vous à notre newsletter hebdomadaire par e-mail.
.