Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment configurer votre environnement local pour développer des applications Python web et les déployer sur Azure. Votre application web peut être pure Python ou utiliser l’une des infrastructures web Python courantes telles que Django, Flask ou FastAPI.
Vous pouvez déployer des applications web Python développées localement sur des services tels que Azure App Service, Azure Container Apps ou Azure Static Web Apps. Il existe de nombreuses options pour le déploiement. Par exemple, pour le déploiement d’App Service, vous pouvez choisir de déployer à partir du code, d’un conteneur Docker ou d’une application web statique. Si vous déployez à partir du code, vous pouvez le déployer à l’aide de Visual Studio Code, du Azure CLI, d’un dépôt Git local ou d’actions GitHub. Si vous déployez dans un conteneur Docker, vous pouvez le faire à partir de Azure Container Registry, de Docker Hub ou d’un registre privé.
Avant de continuer avec cet article, consultez les Configurer votre environnement de développement pour obtenir des conseils sur la configuration de votre environnement de développement pour Python et Azure. Les sections suivantes décrivent l’installation et la configuration spécifiques à Python développement d’applications web.
Après avoir configuré votre environnement local pour Python développement d'applications web, vous êtes prêt à aborder ces articles :
- Quickstart : Créer une application web Python (Django ou Flask) dans Azure App Service.
- Tutorial : Déployer une application web Python (Django ou Flask) avec PostgreSQL dans Azure
- Créer et déployer une application web Flask sur Azure avec une identité managée affectée par le système
Utilisation de Visual Studio Code
L’environnement de développement intégré (IDE) Visual Studio Code est un moyen simple de développer Python applications web et d’utiliser des ressources Azure que les applications web utilisent.
Conseil
Veillez à installer l’extension Python. Pour obtenir une vue d’ensemble de l’utilisation de Python dans VS Code, consultez Getting Started with Python in VS Code.
Dans VS Code, vous travaillez avec des ressources Azure via VS Code extensions. Vous pouvez installer des extensions à partir de la vue Extensions ou à l’aide de la combinaison de touches Ctrl+Maj+X. Pour Python applications web, vous êtes susceptible d'utiliser une ou plusieurs des extensions suivantes :
L’extension Azure App Service vous permet d’interagir avec Azure App Service à partir de Visual Studio Code. App Service fournit un hébergement entièrement managé pour les applications web, y compris les sites web et les API web.
L’extension Azure Static Web Apps vous permet de créer des Azure Static Web Apps directement à partir de VS Code. Static Web Apps est serverless et un bon choix pour l’hébergement de contenu statique.
Si vous envisagez d’utiliser des conteneurs, installez :
Extension Docker pour générer et utiliser des conteneurs localement. Par exemple, vous pouvez exécuter une application web Python conteneurisée sur Azure App Service à l’aide de Web Apps pour conteneurs.
Extension Azure Container Apps pour créer et déployer des applications conteneurisées directement à partir de Visual Studio Code.
D’autres extensions incluent les extensions Azure Storage, Azure Databases et Azure Resources. Vous pouvez toujours ajouter ces extensions et d’autres en fonction des besoins.
Les extensions dans Visual Studio Code sont accessibles comme prévu dans une interface IDE classique. Vous pouvez utiliser une prise en charge complète des mots clés à l’aide de la palette de commandes VS Code. Pour accéder à la palette de commandes, utilisez la combinaison de touches Ctrl+Maj+P. La palette de commandes est un bon moyen de voir toutes les actions possibles que vous pouvez effectuer sur une ressource Azure. La capture d’écran suivante montre certaines des actions pour App Service.
Utilisation des conteneurs de développement dans Visual Studio Code
Python développeurs s’appuient souvent sur des environnements virtuels pour créer un environnement isolé et autonome pour un projet spécifique. Les environnements virtuels permettent aux développeurs de gérer les dépendances, les packages et les versions Python séparément pour chaque projet, ce qui évite les conflits entre différents projets susceptibles de nécessiter des versions de package différentes.
Bien qu’il existe des options populaires disponibles dans Python pour gérer des environnements tels que virtualenv ou venv, l’extension Visual Studio Code Dev Container (basée sur la spécification open Dev Container) vous permet d’utiliser un conteneur Docker conteneur en tant qu’environnement conteneurisé complet. Il permet aux développeurs de définir une chaîne d’outils cohérente et facilement reproductible avec tous les outils, dépendances et extensions nécessaires préconfigurés. Cela signifie que, si vous avez des exigences système, des configurations d'interpréteur de commandes ou si vous utilisez entièrement d'autres langages, vous pouvez utiliser un conteneur de développement pour configurer de manière explicite toutes les parties de votre projet qui se trouvent en dehors d'un environnement Python de base.
Par exemple, un développeur peut configurer un conteneur de développement unique pour inclure tout ce qui est nécessaire pour travailler sur un projet, y compris un serveur de base de données PostgreSQL, ainsi que la base de données du projet et des exemples de données, un serveur Redis, Nginx, le code frontal, les bibliothèques clientes comme React, et ainsi de suite. En outre, le conteneur contient le code du projet, le runtime Python et toutes les dépendances de projet Python avec les versions correctes. Enfin, le conteneur peut spécifier Visual Studio Code extensions à installer afin que l’ensemble de l’équipe dispose des mêmes outils disponibles. Ainsi, lorsqu’un nouveau développeur rejoint l’équipe, l’ensemble de l’environnement, y compris les outils, les dépendances et les données, est prêt à être cloné sur son ordinateur local et peut commencer à travailler immédiatement.
Voir Développement à l’intérieur d’un conteneur.
Utilisation de Visual Studio 2022
Visual Studio 2022 est un environnement de développement intégré complet (IDE) avec prise en charge du développement d’applications Python et de nombreux outils et extensions intégrés pour accéder aux ressources et les déployer sur Azure ressources. Bien que la plupart de la documentation relative à la création d'applications web Python sur Azure se concentre sur l'utilisation de Visual Studio Code, Visual Studio 2022 est une excellente option si vous l'avez déjà installé, vous êtes à l'aise avec l'utiliser et vous l'utilisez pour les projets .NET ou C++.
En général, consultez Visual Studio | Python documentation pour toutes les documentations relatives à l’utilisation de Python sur Visual Studio 2022.
Pour connaître les étapes de configuration, consultez Installer le support Python dans Visual Studio, qui vous guide à travers les étapes d'installation de la charge de travail Python dans Visual Studio 2022.
Pour connaître le flux de travail général de l’utilisation de Python pour le développement web, consultez Quickstart : Créez votre première application web Python à l’aide de Visual Studio. Cet article est utile pour comprendre comment créer une application web Python à partir de zéro (mais n'inclut pas le déploiement vers Azure).
Pour utiliser Visual Studio 2022 pour gérer les ressources Azure et les déployer sur Azure, consultez Azure Développement avec Visual Studio. Bien que la majeure partie de la documentation ici mentionne spécifiquement .NET, l’outil de gestion des ressources Azure et le déploiement sur Azure fonctionne de la même façon, quel que soit le langage de programmation.
Quand aucun outil intégré n'est disponible dans Visual Studio 2022 pour une tâche de gestion ou de déploiement de Azure donnée, vous pouvez toujours utiliser des commandes Azure CLI.
Utilisation d’autres IDE
Si vous travaillez dans un autre IDE qui n'a pas de prise en charge explicite de Azure, utilisez le Azure CLI pour gérer les ressources Azure. Dans la capture d’écran suivante, une application web Flask simple est ouverte dans l’IDE PyCharm . Vous pouvez déployer l’application web sur un Azure App Service à l’aide de la commande az webapp up. Dans la capture d’écran, la commande CLI s’exécute dans l’émulateur de terminal incorporé PyCharm. Si votre IDE n’a pas d’émulateur incorporé, vous pouvez utiliser n’importe quel terminal et la même commande. La Azure CLI doit être installée sur votre ordinateur et être accessible dans les deux cas.
commandes Azure CLI
Lorsque vous travaillez localement avec des applications web à l’aide des commandes Azure CLI, vous utilisez généralement les commandes suivantes :
| Commande | Descriptif |
|---|---|
| az webapp | Gère les applications web. Inclut les sous-commandes créer et monter pour créer une application web ou pour créer et déployer à partir d’un espace de travail local, respectivement. |
| az container app | Gère Azure Container Apps. |
| az staticwebapp | Gère Azure Static Web Apps. |
| az group | Gère les groupes de ressources et les déploiements de modèles. Utilisez la sous-commande créer pour créer un groupe de ressources dans lequel placer vos ressources Azure. |
| az appservice | Gère les applications Web statiques Azure. |
| az config | Gère la configuration d'Azure CLI. Pour enregistrer les séquences de touches, vous pouvez définir un emplacement ou un groupe de ressources par défaut que d’autres commandes utilisent automatiquement. |
Voici un exemple de commande Azure CLI pour créer une application web et des ressources associées, puis la déployer sur Azure dans une commande à l'aide de az webapp up. Exécutez la commande dans le répertoire racine de votre application web.
az webapp up \
--runtime PYTHON:3.9 \
--sku B1 \
--logs
Pour plus d’informations sur cet exemple, consultez Quickstart : Deploy a Python (Django ou Flask) web app to Azure App Service.
N’oubliez pas que pour certains de vos flux de travail Azure, vous pouvez également utiliser le Azure CLI à partir d’un Azure Cloud Shell. Azure Cloud Shell est un interpréteur de commandes interactif, authentifié et accessible par le navigateur pour gérer les ressources Azure.
packages de clés Azure SDK
Dans vos applications web Python, vous pouvez faire référence par programmation aux services Azure à l’aide du Azure SDK pour Python. La section Utilisez les bibliothèques de Azure (SDK) pour Python abordent largement ce KIT SDK. Dans cette section, vous allez découvrir certains packages clés du Kit de développement logiciel (SDK) que vous utilisez dans le développement web. Vous voyez également un exemple qui suit les meilleures pratiques pour authentifier votre code avec Azure ressources.
Le tableau suivant répertorie certains des packages couramment utilisés dans le développement d’applications web. Vous pouvez installer des paquets directement dans votre environnement virtuel à l’aide de pip. Vous pouvez également placer le nom de l’index de package Python (PyPI) dans votre fichier requirements.txt.
| Documentation du Kit de développement logiciel (SDK) | Installer | index de package Python |
|---|---|---|
| Identité Azure | pip install azure-identity |
azure-identity |
| Azure Storage Blobs | pip install azure-storage-blob |
azure-storage-blob |
| Azure Cosmos DB | pip install azure-cosmos |
azure-cosmos |
| Azure Key Vault Secrets | pip install azure-keyvault-secrets |
azure-keyvault-secrets |
Le package azure-identity permet à votre application web de s’authentifier auprès de Microsoft Entra ID. Pour l’authentification dans votre code d’application web, utilisez DefaultAzureCredential dans le azure-identity package. L’exemple suivant montre comment accéder à Azure Storage. Le modèle est similaire pour d’autres ressources Azure.
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient
azure_credential = DefaultAzureCredential()
blob_service_client = BlobServiceClient(
account_url=account_url,
credential=azure_credential)
Le DefaultAzureCredential recherche des informations de compte prédéfinies, telles que les variables d’environnement ou la connexion Azure CLI. Pour obtenir des informations détaillées sur la logique DefaultAzureCredential, consultez Authentifier les applications Python aux services Azure à l’aide du SDK Azure pour Python.
infrastructures web basées sur Python
Dans Python développement d’applications web, vous travaillez souvent avec des infrastructures web basées sur Python. Ces frameworks fournissent des fonctionnalités, telles que des modèles de page, la gestion de session, l’accès aux bases de données et un accès facile aux objets de requête et de réponse HTTP. Les frameworks vous permettent d’éviter de réinventer la roue pour des fonctionnalités courantes.
Trois frameworks web Python courants sont Django, Flask et FastAPI. Vous pouvez utiliser ces infrastructures web et d’autres infrastructures web avec Azure.
L’exemple suivant montre comment commencer rapidement avec ces frameworks localement. Lorsque vous exécutez ces commandes, vous vous retrouvez avec une application, bien qu’une simple que vous puissiez déployer sur Azure. Exécutez ces commandes dans un environnement virtuel.
Étape 1 : Téléchargez les frameworks à l’aide de pip.
Étape 2 : Créez une application hello world.
Créez un exemple de projet à l’aide de la commande django-admin startproject . Le projet inclut un fichier manage.py qui sert de point d’entrée pour l’exécution de l’application.
django-admin startproject hello_world
Étape 3 : Exécutez le code localement.
Django utilise WSGI pour exécuter l’application.
python hello_world\manage.py runserver
Étape 4 : Parcourez l’application hello world.
À ce stade, ajoutez un fichier requirements.txt . Ensuite, déployez l’application web pour Azure ou la conteneuriser à l’aide de Docker et déployez-la.