Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku se dozvíte, jak nastavit místní prostředí pro vývoj Python webových aplikací a jejich nasazení do Azure. Webová aplikace může být čistá Python nebo používat jednu z běžných webových architektur založených na Python, jako jsou Django, Flask nebo FastAPI.
Webové aplikace vyvinuté Python místně můžete nasadit do služeb, jako jsou Azure App Service, Azure Container Apps nebo Azure Static Web Apps. Existuje mnoho možností nasazení. Například pro nasazení služby App Service můžete zvolit nasazení z kódu, kontejneru Dockeru nebo statické webové aplikace. Pokud nasadíte z kódu, můžete ho nasadit pomocí Visual Studio Code, Azure CLI, místního úložiště Git nebo akcí GitHub. Pokud nasadíte v kontejneru Dockeru, můžete to udělat z Azure Container Registry, Docker Hub nebo jakéhokoli privátního registru.
Než budete pokračovat v tomto článku, projděte si Nastavení vývojového prostředí pokyny k nastavení vývojového prostředí pro Python a Azure. V následujících částech najdete informace o nastavení a konfiguraci specifické pro Python vývoj webových aplikací.
Po nastavení místního prostředí pro vývoj webových aplikací Python jste připraveni řešit tyto články:
- Quickstart: Vytvořte webovou aplikaci Python (Django nebo Flask) v Azure App Service.
- Tutorial: Nasazení webové aplikace Python (Django nebo Flask) s PostgreSQL v Azure
- Vytvoření a nasazení webové aplikace Flask do Azure se spravovanou identitou přiřazenou systémem
Práce s Visual Studio Code
Integrované vývojové prostředí (IDE) Visual Studio Code je snadný způsob, jak vyvíjet webové aplikace Python a pracovat s Azure prostředky, které webové aplikace používají.
Spropitné
Ujistěte se, že jste nainstalovali rozšíření Python. Přehled práce s Python ve VS Code najdete v tématu Getting Started with Python in VS Code.
Ve VS Code pracujete s prostředky Azure prostřednictvím rozšíření VS Code. Rozšíření můžete nainstalovat ze zobrazení Rozšíření nebo pomocí kombinace kláves Ctrl+Shift+X. U Python webových aplikací pravděpodobně budete pracovat s jedním nebo více z následujících rozšíření:
Rozšíření Azure App Service umožňuje pracovat s Azure App Service z Visual Studio Code. App Service poskytuje plně spravované hostování webových aplikací včetně webů a webových rozhraní API.
Rozšíření Azure Static Web Apps umožňuje vytvářet Azure Static Web Apps přímo z VS Code. Static Web Apps je bezserverová a dobrá volba pro hostování statického obsahu.
Pokud plánujete pracovat s kontejnery, nainstalujte:
Rozšíření Dockeru pro sestavení a práci s kontejnery na místním počítači. Kontejnerizovanou webovou aplikaci Python můžete například spustit na Azure App Service pomocí Web Apps pro kontejnery.
Rozšíření Azure Container Apps pro vytváření a nasazování kontejnerizovaných aplikací přímo z Visual Studio Code.
Mezi další rozšíření patří rozšíření Azure Storage, Azure Databases a rozšíření Azure Resources. Podle potřeby můžete tato a další rozšíření kdykoli přidat.
Rozšíření v Visual Studio Code jsou přístupná podle očekávání v typickém rozhraní IDE. Podporu bohatých klíčových slov můžete použít pomocí palety příkazů VS Code. Pro přístup k paletě příkazů použijte kombinaci kláves Ctrl+Shift+P. Paleta příkazů je dobrý způsob, jak zobrazit všechny možné akce, které můžete provést u Azure prostředku. Následující snímek obrazovky ukazuje některé akce služby App Service.
Práce s Dev Containers v Visual Studio Code
Python vývojáři často spoléhají na virtuální prostředí k vytvoření izolovaného a samostatného prostředí pro konkrétní projekt. Virtuální prostředí umožňují vývojářům spravovat závislosti, balíčky a Python verze zvlášť pro každý projekt a vyhnout se konfliktům mezi různými projekty, které mohou vyžadovat různé verze balíčků.
I když jsou v Python k dispozici oblíbené možnosti pro správu prostředí, jako je virtualenv nebo venv, Rozšíření Visual Studio Code Dev Container (na základě specifikace open Dev Container) umožňuje používat kontejner Docker jako plnohodnotné kontejnerizované prostředí. Umožňuje vývojářům definovat konzistentní a snadno reprodukovatelnou sadu nástrojů se všemi potřebnými nástroji, závislostmi a rozšířeními předem nakonfigurovanými. To znamená, že pokud máte systémové požadavky, konfigurace prostředí nebo zcela jiné jazyky, můžete pomocí vývojového kontejneru explicitně nakonfigurovat všechny tyto části projektu, které můžou být aktivní mimo základní Python prostředí.
Vývojář může například nakonfigurovat jeden vývojový kontejner tak, aby zahrnoval všechno potřebné k práci na projektu, včetně databázového serveru PostgreSQL spolu s projektovou databází a ukázkovými daty, serveru Redis, serveru Nginx, front-endového kódu, klientských knihoven, jako je React atd. Kontejner by navíc obsahoval kód projektu, modul runtime Python a všechny závislosti projektu Python se správnými verzemi. Kontejner může také určit, Visual Studio Code rozšíření, která se mají nainstalovat, aby byl k dispozici stejný nástroj pro celý tým. Když se nový vývojář připojí k týmu, celé prostředí, včetně nástrojů, závislostí a dat, je připravené k naklonování na jeho místní počítač, takže může okamžitě začít pracovat.
Podívejte se na vývoj uvnitř kontejneru.
Práce s Visual Studio 2022
Visual Studio 2022 je plnohodnotné integrované vývojové prostředí (IDE) s podporou vývoje aplikací Python a mnoha integrovaných nástrojů a rozšíření pro přístup k prostředkům Azure a jejich nasazení. Většina dokumentace k vytváření webových aplikací Python na Azure se zaměřuje na používání Visual Studio Code, Visual Studio 2022 je skvělou volbou, pokud už máte nainstalovanou aplikaci, můžete ji používat a používáte ji pro projekty .NET nebo C++.
Obecně viz Visual Studio | Python dokumentaci pro veškerou dokumentaci související s používáním Python Visual Studio 2022.
Postup nastavení najdete v tématu podpora Instalace Python v Visual Studio která vás provede postupem instalace úlohy Python do Visual Studio 2022.
Obecný pracovní postup použití Python pro vývoj webu najdete v tématu Quickstart: Vytvoření první webové aplikace Python pomocí Visual Studio. Tento článek je užitečný pro pochopení toho, jak vytvořit Python webovou aplikaci od začátku (ale nezahrnuje nasazení do Azure).
Informace o použití Visual Studio 2022 ke správě Azure prostředků a nasazení do Azure najdete v tématu Azure Development with Visual Studio. I když se v této dokumentaci konkrétně uvádí .NET, nástroje pro správu Azure prostředků a nasazení do Azure fungují stejně bez ohledu na programovací jazyk.
Pokud pro danou úlohu správy Azure nebo nasazení není k dispozici žádný integrovaný nástroj Visual Studio 2022, můžete vždy použít příkazy Azure CLI.
Práce s jinými prostředími IDE
Pokud pracujete v jiném integrovaném vývojovém prostředí, které nemá explicitní podporu pro Azure, použijte Azure CLI ke správě Azure prostředků. Na následujícím snímku obrazovky je v integrovaném vývojovém prostředí PyCharm otevřená jednoduchá webová aplikace Flask. Webovou aplikaci můžete nasadit do Azure App Service pomocí příkazu az webapp up. Na snímku obrazovky se příkaz rozhraní příkazového řádku spustí v emulátoru integrovaného terminálu PyCharm. Pokud integrované vývojové prostředí nemá vložený emulátor, můžete použít libovolný terminál a stejný příkaz. Na počítači musí být nainstalovaný Azure CLI a musí být přístupný v obou případech.
příkazy Azure CLI
Když pracujete místně s webovými aplikacemi pomocí příkazů Azure CLI, obvykle používáte následující příkazy:
| Příkaz | Popis |
|---|---|
| az webapp | Spravuje webové aplikace. Zahrnuje dílčí příkazy vytvořit a nasadit pro vytvoření webové aplikace nebo pro vytvoření a nasazení z místního pracovního prostoru. |
| az container app | Spravuje Azure Container Apps. |
| az staticwebapp | Spravuje Azure Static Web Apps. |
| az skupina | Spravuje skupiny prostředků a nasazení šablon. Pomocí podpříkazu kreate vytvořte skupinu prostředků, do které chcete umístit prostředky Azure. |
| az appservice | Spravuje plány služby App Service. |
| az config | Spravuje konfiguraci Azure CLI. Pokud chcete uložit stisknutí kláves, můžete definovat výchozí umístění nebo skupinu prostředků, které ostatní příkazy používají automaticky. |
Tady je příklad příkazu Azure CLI k vytvoření webové aplikace a přidružených prostředků a jeho nasazení do Azure v jednom příkazu pomocí az webapp up. Spusťte příkaz v kořenovém adresáři vaší webové aplikace.
az webapp up \
--runtime PYTHON:3.9 \
--sku B1 \
--logs
Další informace o tomto příkladu najdete v tématu Quickstart: Nasazení webové aplikace Python (Django nebo Flask) do Azure App Service.
Nezapomeňte, že u některého pracovního postupu Azure můžete použít také Azure CLI z Azure Cloud Shell. Azure Cloud Shell je interaktivní, ověřené prostředí přístupné z prohlížeče pro správu Azure prostředků.
balíčky klíčů Azure SDK
Ve webových aplikacích Python můžete programově odkazovat na služby Azure pomocí Azure SDK pro Python. V části Užití knihoven Azure (SDK) pro Python tuto sadu SDK podrobně popisuje. V této části se dozvíte o některých klíčových balíčcích sady SDK, které používáte při vývoji webu. Zobrazí se také příklad, který dodržuje osvědčené postupy pro ověřování kódu pomocí Azure prostředků.
Následující tabulka uvádí některé balíčky, které se běžně používají při vývoji webových aplikací. Balíčky můžete do svého virtuálního prostředí nainstalovat přímo pomocí pip. Nebo do souboru requirements.txt vložte název indexu balíčku Python (PyPI).
| Dokumentace k sadě SDK | Nainstalovat | index balíčku Python |
|---|---|---|
| Azure Identita | pip install azure-identity |
azure-identity |
| objekty blob Azure Storage | pip install azure-storage-blob |
azure-storage-blob |
| Azure Cosmos DB | pip install azure-cosmos |
azure-cosmos |
| tajné kódy Azure Key Vault | pip install azure-keyvault-secrets |
azure-keyvault-secrets |
Balíček azure-identity umožňuje, aby se vaše webová aplikace ověřila pomocí Microsoft Entra ID. Pro ověřování v kódu webové aplikace použijte DefaultAzureCredential v balíčku azure-identity. Následující příklad ukazuje, jak získat přístup k Azure Storage. Vzor je podobný pro ostatní prostředky 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)
DefaultAzureCredential hledá informace o účtu na předem definovaných místech, jako jsou proměnné prostředí nebo přihlášení k Azure CLI. Podrobné informace o logice DefaultAzureCredential najdete v tématu Ověření Python aplikací ke službám Azure pomocí Azure SDK pro Python.
webové architektury založené na Python
Ve Python vývoji webových aplikací často pracujete s webovými architekturami založenými na Python. Tyto architektury poskytují funkce, jako jsou šablony stránek, správa relací, přístup k databázi a snadný přístup k objektům požadavků HTTP a odpovědí. Frameworky vám umožňují vyhnout se opětovnému vynalézání kola pro běžnou funkčnost.
Tři běžné webové architektury Python jsou Django, Flask a FastAPI. Tyto a další webové architektury můžete používat s Azure.
Následující příklad ukazuje, jak můžete rychle začít s těmito architekturami místně. Když tyto příkazy spustíte, skončíte s aplikací, i když jednoduchým příkazem, který byste mohli nasadit do Azure. Tyto příkazy spusťte ve virtuálním prostředí.
Krok 1: Stáhněte si frameworky pomocí pip.
Krok 2: Vytvořte aplikaci Hello World.
Pomocí příkazu django-admin startproject vytvořte ukázkový projekt. Projekt obsahuje manage.py soubor, který slouží jako vstupní bod pro spuštění aplikace.
django-admin startproject hello_world
Krok 3: Spusťte kód místně.
Django ke spuštění aplikace používá WSGI.
python hello_world\manage.py runserver
Krok 4: Projděte si aplikaci Hello World.
V tomto okamžiku přidejte soubor requirements.txt. Pak webovou aplikaci nasaďte do Azure nebo ji zkontejnerizujte pomocí Dockeru a pak ji nasaďte.