Section courante

A propos

Section administrative du site

Développement Python

Pour certains développeurs, l'inclusion des outils Python dans Visual Studio est un non-événement. Les gens demandent pourquoi ils devraient s'embêter avec Python alors qu'il existe déjà un support pour tous les langages .NET (C#, VB.NET, F#, C++), ainsi que JavaScript. La réponse à cette question est légèrement philosophique. Chaque langage de développement a des niches dans lesquelles il brille. Vous ne voudriez pas créer une application Web en C++, mais qu'en est-il d'un système d'exploitation ? Vous ne voudriez pas créer un éditeur de photos en C#, qu'en est-il d'une application de gestion de la relation client ? Chacune de ces langues a des domaines de spécialisation où elles sont tout à fait appropriées et des domaines où elles ne le sont pas. Pour Python, l'un de ces domaines de spécialité est le scripting. Python peut être utilisé pour créer rapidement des applications simples, le langage est capable d'exprimer des concepts complexes de manière concise et il peut être porté sur presque toutes les plates-formes disponibles. De plus, Python est fréquemment utilisé par les scientifiques des données dans les applications d'analyse de données comme alternative à R.

Alors que .NET prend en charge Python sous diverses formes depuis un certain nombre d'années, Visual Studio introduit pour la première fois un ensemble d'outils pour aider les développeurs Python en tant qu'expérience prête à l'emploi. Dans cette page, nous examinons les outils disponibles dans le cadre de la charge de travail de Développement Python.

Démarrer avec Python

Les outils Python sont inclus dans deux charges de travail différentes dans Visual Studio. Si vous lancez Visual Studio Installer, vous pouvez inclure des outils Python directement via la charge de travail de développement Web et Cloud > Python :

Ils sont également inclus dans la charge de travail Applications de science et analyse des données. Par défaut, cette charge de travail inclut la prise en charge du modèle Cookiecutter et la prise en charge de Python 3 pour les systèmes 64 bits. Via l'onglet Composants individuels disponible dans la charge de travail actuellement sélectionnée, vous pouvez également inclure la Prise en charge du Python IoT (Internet des objets), Outils principaux pour Azure Cloud Services, la prise en charge d'Anaconda (version 2 ou 3 sur les systèmes 32 et 64 bits) et la future prise en charge de Python (également version 2 ou 3 sur les systèmes 32 et 64 bits).

Les outils inclus font partie d'un projet open source appelé PTVS (Python Tools for Visual Studio). Il est disponible depuis plusieurs années pour les versions antérieures de Visual Studio, mais avec le nouveau processus d'installation et de mise à jour, il est désormais possible d'inclure PTVS dans Visual Studio sans installation séparée.

En supposant que vous ayez inclus la charge de travail Python, la création et l'exécution d'un projet Python sont relativement simples. Pour commencer, lancez la boîte de dialogue Nouveau projet à l'aide de l'option de menu Fichier > Nouveau > Projet... (Accédez ensuite aux modèles de projet Python dans l'arborescence) :

Vous constaterez qu'il existe un certain nombre de modèles de projets différents parmi lesquels choisir. Par exemple, il existe plusieurs projets Web Python différents. L'un d'eux crée une application web générique, tandis que les autres installent un cadre d'application Python particulier visant à faciliter le développement Web. Bottle, Django et Flask sont les cadre d'application pris en charge.

Outre les modèles de projet Web, il existe un certain nombre d'autres modèles Python parmi lesquels choisir. Par exemple, il existe un certain nombre de modèles IronPython. IronPython est une variante Python open source ayant été développée principalement en C# et cible le cadre d'application .NET et Mono. Les modèles IronPython parmi lesquels vous pouvez choisir incluent la possibilité de créer une application WPF, une application Windows Forms et une application Silverlight.

Pour les besoins de cette discussion, créez un projet à l'aide du modèle Bottle Web Project. Étant donné que le modèle nécessite des composantes supplémentaires, vous serez peut-être invité à les ajouter dans le cadre du processus de création. L'image suivante illustre la boîte de dialogue s'affichant si vous n'avez pas encore installé les composantes nécessaires :

Sachez également que vous pouvez être invité à exécuter la commande d'installation à l'aide d'autorisations élevées.

Le contenu du projet dépend beaucoup du modèle que vous choisissez. Dans l'image suivante, vous pouvez voir l'explorateur de solutions pour deux projets Python : le projet Web Bottle et l'application Python générique :

Comme vous pouvez le constater, au-delà de quelques noeuds (environnements Python, références et chemins de recherche), les deux projets sont très différents. C'est à prévoir. Selon l'objectif du projet, les fichiers et répertoires seront différents. Examinons de plus près quelques noeuds communs.

Environnements Python

En Python, un environnement est une collection d'outils dans lesquels vous exécutez votre code. Il se compose d'un interpréteur, d'une bibliothèque (le plus souvent la bibliothèque standard Python) et d'un ensemble de paquets installés. Ces trois composantes déterminent ensuite les constructions de langage et la syntaxe valides, les fonctionnalités du système d'exploitation auxquelles vous avez accès et les paquets pouvant être mis à votre disposition. De plus, dans Visual Studio, un environnement se compose d'une base de données Intellisense appropriée pour les bibliothèques.

Dans le cadre de l'installation de la charge de travail Python, vous disposiez d'un certain nombre d'environnements différents à installer. Ceux que vous avez choisi d'installer auront un impact sur certains des formulaires illustrés dans les quelques figures suivantes. Les environnements installés via la charge de travail ont été créés en tant qu'environnements globaux. Ce sont des environnements disponibles pour chaque projet. Il est également possible d'installer un environnement spécifiquement pour un projet.

Pour voir les environnements parmi lesquels vous pouvez choisir, cliquez avec le bouton droit sur les environnements Python dans l'explorateur de solutions et sélectionnez Afficher les environnements Python. Une image ressemblant à ceci s'affiche :

En haut, il y a une liste de tous les environnements installés. Pour chaque environnement, il y a une icône sur la droite vous permettant d'ouvrir une fenêtre interactive pour cet environnement. L'environnement interactif vous permet de saisir et d'exécuter des commandes Python dans cet environnement. De plus, dans certains cas, il y aura une icône vous permettant de rafraîchir la BD de complétion. Il s'agit de la base de données utilisée pour fournir les informations Intellisense.

Lorsque vous sélectionnez un environnement, les informations au bas du formulaire changent. Dans l'image précédente, vous examinez les options disponibles pour l'environnement par défaut, Python 3.4 64 bits. Pour d'autres environnements, les choix spécifiques peuvent être différents, mais les idées de base restent les mêmes. Vous recevez des liens vers des outils pouvant vous être utiles, notamment la fenêtre interactive et PowerShell.

Si vous sélectionnez Packages dans la liste déroulante, vous pouvez voir les paquets installés pour l'environnement. Il s'agit de la même liste apparaissant dans le noeud d'environnement dans l'explorateur de solutions. Si vous sélectionnez IntelliSense dans la liste déroulante, vous pouvez voir les bibliothèques incluses dans la base de données d'achèvement et vous avez la possibilité de l'actualiser :

Il est possible que deux projets différents installés en tant qu'environnement global aient des bibliothèques incompatibles. Cela signifie que vous ne pourrez pas les utiliser dans un projet. Pour résoudre ce problème, Visual Studio offre la possibilité de créer un environnement virtuel. Dans un environnement virtuel, il y a les mêmes composantes que dans un environnement Python normal. La différence est que les paquets faisant partie de l'environnement sont isolés à la fois de l'environnement global et de tout autre environnement virtuel.

Pour créer un environnement virtuel, cliquez avec le bouton droit sur le noeud Environnements Python dans l'explorateur de solutions et sélectionnez Ajouter un environnement virtuel... (Add Virtual Environment). La boîte de dialogue suivante s'affiche :

Ici, vous pouvez fournir le nom et l'emplacement de l'environnement et spécifier l'interpréteur de base à utiliser. Une fois que vous avez fourni les informations et cliqué sur Créer (ou Create), l'environnement est ajouté à votre projet.

À ce stade, votre nouvel environnement ne contient aucun paquet. Ceci est adressé (et peut être fait pour n'importe quel autre environnement) via l'explorateur de solutions. Cliquez avec le bouton droit sur l'environnement et sélectionnez «Installer le package Python...». Vous serez redirigé vers le volet de l'image suivante :

Immédiatement au-dessus de la liste des paquets installés, il y a une zone de texte pouvant être utilisée pour rechercher des paquets dans l'index de paquets Python (PyPI). L'image suivante montre les résultats d'une recherche du moteur de gabarit Jade. Cliquez sur le lien approprié pour installer le paquet dans votre environnement :

Chemins de recherche

Dans un environnement Python typique, il existe une variable nommée PYTHONPATH fournissant le chemin de recherche par défaut pour les fichiers de modules. Par exemple, si la commande Python ressemble à «IMPORT name», il existe un certain nombre de répertoires que Python recherche pour trouver une correspondance. Tout d'abord, les modules intégrés sont recherchés. Ensuite, le dossier actuel du code en cours d'exécution est vérifié. Enfin, le chemin défini dans PYTHONPATH est balayé.

Toutefois, Visual Studio 2017 ignore cette variable d'environnement. Il le fait spécifiquement parce que la valeur est définie pour le système d'environnement. Cela peut soulever des questions auxquelles il n'est pas possible de répondre automatiquement. Par exemple, les modules de référence sont-ils destinés à être utilisés par Python 3.9 ou Python 2.7 ? Sont-ils destinés à remplacer les modules de bibliothèque standard ? Le développeur est-il conscient qu'il existe réellement une correspondance trouvée dans le chemin ? Chacun de ces éléments peut causer des problèmes difficiles à diagnostiquer.

Dans Visual Studio, vous pouvez définir les chemins de recherche devant être utilisés par votre projet. Cela signifie que vous ajoutez les chemins intentionnellement. Cela élimine de nombreux défis, car Visual Studio peut supposer que vous savez si les références sont appropriées pour votre projet.

Pour ajouter un chemin de recherche à votre projet, cliquez avec le bouton droit sur l'élément Chemins de recherche dans l'explorateur de solutions et sélectionnez «Ajouter un dossier au chemin de recherche...» :

La boîte de dialogue standard d'ouverture de fichier s'affiche. Vous choisissez un répertoire et il apparaît sous le noeud Chemins de recherche. Ou vous pouvez ajouter un fichier .zip en choisissant l'option «Ajouter une archive Zip au chemin de recherche...» dans le menu contextuel.

Extension Cookiecutter

L'idée derrière un gabarit dans le monde Python est de fournir un mécanisme pour générer automatiquement du code étant fréquemment réutilisé dans ou entre les projets. Pour aider à soutenir cette productivité, Visual Studio 2017 inclut la prise en charge de l'extension de gabarit Cookiecutter (Cookiecutter est officiellement présent depuis Visual Studio 15 Preview 5).

Pour commencer avec ce flux de travail, lancez la fenêtre Cookiecutter avec l'option Affichage > Explorateur Cookiecutter (View > Cookiecutter Explorer). Le volet suivant s'affiche :

Il y a une zone de texte en haut vous permettant de rechercher le gabarit que vous souhaitez installer. Les résultats de la recherche sont divisés en ces groupes :



Dernière mise à jour : Vendredi, le 9 juin 2023