Snabbstart: Skapa en Python-app med Azure App Service på LinuxQuickstart: Create a Python app using Azure App Service on Linux

I den här snabbstarten distribuerar du en Python-webbapp till App Service på Linux, Azures mycket skalbara och självkorrigeringsbara webbvärdtjänst.In this quickstart, you deploy a Python web app to App Service on Linux, Azure's highly scalable, self-patching web hosting service. Du använder det lokala Azure-kommandoradsgränssnittet (CLI) på en Mac-, Linux- eller Windows-dator för att distribuera ett exempel med antingen Flask- eller Django-ramverken.You use the local Azure command-line interface (CLI) on a Mac, Linux, or Windows computer to deploy a sample with either the Flask or Django frameworks. Den webbapp som du konfigurerar använder en grundläggande App Service som medför en liten kostnad i din Azure-prenumeration.The web app you configure uses a basic App Service tier that incurs a small cost in your Azure subscription.

Konfigurera din första miljöSet up your initial environment

  1. Ha ett Azure-konto med en aktiv prenumeration.Have an Azure account with an active subscription. Skapa ett konto utan kostnad.Create an account for free.
  2. Installera Python 3.6 eller senare.Install Python 3.6 or higher.
  3. Installera Azure CLI 2.0.80 eller senare, med vilken du kör kommandon i alla gränssnitt för att etablera och konfigurera Azure-resurser.Install the Azure CLI 2.0.80 or higher, with which you run commands in any shell to provision and configure Azure resources.

Öppna ett terminalfönster och kontrollera att din Python-version är 3.6 eller senare:Open a terminal window and check your Python version is 3.6 or higher:

python3 --version

Kontrollera att din Azure CLI-version är 2.0.80 eller senare:Check that your Azure CLI version is 2.0.80 or higher:

az --version

Logga sedan in på Azure via CLI:Then sign in to Azure through the CLI:

az login

Det här kommandot öppnar en webbläsare för att samla in dina autentiseringsuppgifter.This command opens a browser to gather your credentials. När kommandot har avslutats visas JSON-utdata som innehåller information om dina prenumerationer.When the command finishes, it shows JSON output containing information about your subscriptions.

När du har loggat in kan du köra Azure-kommandon med Azure CLI för att arbeta med resurser i din prenumeration.Once signed in, you can run Azure commands with the Azure CLI to work with resources in your subscription.

Har du problem?Having issues? Berätta för oss.Let us know.

Klona exempletClone the sample

Klona exempeldatabasen med följande kommando och navigera till exempelmappen.Clone the sample repository using the following command and navigate into the sample folder. (Installeragit om du inte redan har git.)(Install git if you don't have git already.)

git clone https://github.com/Azure-Samples/python-docs-hello-world
git clone https://github.com/Azure-Samples/python-docs-hello-django

Exemplet innehåller ramverksspecifik kod som Azure App Service identifierar när appen startas.The sample contains framework-specific code that Azure App Service recognizes when starting the app. Mer information finns i Startprocessen för containrar.For more information, see Container startup process.

Har du problem?Having issues? Berätta för oss.Let us know.

Kör exempletRun the sample

  1. Navigera till i mappen python-docs-hello-world:Navigate into in the python-docs-hello-world folder:

    cd python-docs-hello-world
    
  2. Skapa en virtuell miljö och installera beroenden:Create a virtual environment and install dependencies:

    # Linux systems only
    python3 -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
    
    # Git Bash on Windows only
    py -3 -m venv .venv
    source .venv\\scripts\\activate
    pip install -r requirements.txt
    

    Om du använder ett Windows-system och se felet "källan kan inte identifieras som ett internt eller externt kommando", se till att du antingen kör i git bash-gränssnittet eller Använd de kommandon som visas på fliken cmd ovan.If you're on a Windows system and see the error "'source' is not recognized as an internal or external command," make sure you're either running in the Git Bash shell, or use the commands shown in the Cmd tab above.

    Om du stöter på "[Errno 2] Ingen sådan fil eller katalog: "requirements.txt"." kontrollerar du att du är i mappen python-docs-hello-world.If you encounter "[Errno 2] No such file or directory: 'requirements.txt'.", make sure you're in the python-docs-hello-world folder.

  3. Kör utvecklingsservern.Run the development server.

    flask run
    

    Som standard förutsätter servern att appens inmatningsmodul finns i app.py, som används i exemplet.By default, the server assumes that the app's entry module is in app.py, as used in the sample.

    Om du använder ett annat modulnamn anger du FLASK_APP miljövariabeln till det namnet.If you use a different module name, set the FLASK_APP environment variable to that name.

    Om du stöter på felet "Det gick inte att hitta ett Flask-program.If you encounter the error, "Could not locate a Flask application. Du har inte ange miljövariabeln "FLASK_APP" och modulen "wsgi.py" eller "app.py" hittades inte i den aktuella katalogen." kontrollerar du att du är i mappen som innehåller python-docs-hello-world exemplet.You did not provide the 'FLASK_APP' environment variable, and a 'wsgi.py' or 'app.py' module was not found in the current directory.", make sure you're in the python-docs-hello-world folder that contains the sample.

  4. Öppna en webbläsare och gå till exempelappen på http://localhost:5000/ .Open a web browser and go to the sample app at http://localhost:5000/. Appen visar meddelandet Hello, World!.The app displays the message Hello, World!.

    Köra en Python-exempelapp lokalt

  5. Tryck på Ctrl C i terminalfönstret + för att avsluta utvecklingsservern.In your terminal window, press Ctrl+C to exit the development server.

  1. Navigera till mappen python-docs-hello-django:Navigate into the python-docs-hello-django folder:

    cd python-docs-hello-django
    
  2. Skapa en virtuell miljö och installera beroenden:Create a virtual environment and install dependencies:

    # Linux systems only
    python3 -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
    
    # Git Bash on Windows only
    py -3 -m venv .venv
    source .venv\\scripts\\activate
    pip install -r requirements.txt
    

    Om du använder ett Windows-system och se felet "källan kan inte identifieras som ett internt eller externt kommando", se till att du antingen kör i git bash-gränssnittet eller Använd de kommandon som visas på fliken cmd ovan.If you're on a Windows system and see the error "'source' is not recognized as an internal or external command," make sure you're either running in the Git Bash shell, or use the commands shown in the Cmd tab above.

    Om du stöter på "[Errno 2] Ingen sådan fil eller katalog: "requirements.txt"." kontrollerar du att du är i mappen python-docs-hello-django.If you encounter "[Errno 2] No such file or directory: 'requirements.txt'.", make sure you're in the python-docs-hello-django folder.

  3. Kör utvecklingsservern.Run the development server.

    python manage.py runserver
    
  4. Öppna en webbläsare och gå till exempelappen på http://localhost:8000/ .Open a web browser and go to the sample app at http://localhost:8000/. Appen visar meddelandet Hello, World!.The app displays the message Hello, World!.

    Köra en Python-exempelapp lokalt

  5. Tryck på Ctrl C i terminalfönstret + för att avsluta utvecklingsservern.In your terminal window, press Ctrl+C to exit the development server.

Har du problem?Having issues? Berätta för oss.Let us know.

Distribuera exempletDeploy the sample

Distribuera koden i den lokala mappen (python-docs-hello-world) med hjälp av az webapp up kommandot :Deploy the code in your local folder (python-docs-hello-world) using the az webapp up command:

az webapp up --sku B1 --name <app-name>
  • Om kommandot inte känns igen måste du ha Azure CLI installerat enligt az beskrivningen i Konfigurera din första miljö.If the az command isn't recognized, be sure you have the Azure CLI installed as described in Set up your initial environment.
  • Om kommandot webapp inte känns igen, eftersom din Azure CLI-version är 2.0.80 eller senare.If the webapp command isn't recognized, because that your Azure CLI version is 2.0.80 or higher. Om inte installerar du den senaste versionen.If not, install the latest version.
  • Ersätt <app_name> med ett namn som är unikt för hela Azure ( giltiga tecken är ,a-z 0-9 och -).Replace <app_name> with a name that's unique across all of Azure (valid characters are a-z, 0-9, and -). Ett bra mönster är att använda en kombination av företagets namn och en appidentifierare.A good pattern is to use a combination of your company name and an app identifier.
  • Argumentet --sku B1 skapar webbappen på prisnivån Basic, vilket medför en liten kostnad per timme.The --sku B1 argument creates the web app on the Basic pricing tier, which incurs a small hourly cost. Utelämna det här argumentet för att använda en snabbare premiumnivå.Omit this argument to use a faster premium tier.
  • Du kan också inkludera argumentet där --location <location-name> är <location_name> en tillgänglig Azure-region.You can optionally include the argument --location <location-name> where <location_name> is an available Azure region. Du kan hämta en lista över tillåtna regioner för ditt Azure-konto genom att köra az account list-locations kommandot .You can retrieve a list of allowable regions for your Azure account by running the az account list-locations command.
  • Om du ser felet "Det gick inte att automatiskt identifiera körningsstacken för din app" kontrollerar du att du kör kommandot i mappen python-docs-hello-world (Flask) eller mappen python-docs-hello-django (Django) som innehåller requirements.txt-filen.If you see the error, "Could not auto-detect the runtime stack of your app," make sure you're running the command in the python-docs-hello-world folder (Flask) or the python-docs-hello-django folder (Django) that contains the requirements.txt file. (Se Felsöka problem med automatisk identifiering med az webapp up (GitHub).)(See Troubleshooting auto-detect issues with az webapp up (GitHub).)

Det kan ta några minuter att slutföra kommandot.The command may take a few minutes to complete. När du kör får du meddelanden om att skapa resursgruppen, App Service plan värdappen, konfigurera loggning och sedan utföra ZIP-distribution.While running, it provides messages about creating the resource group, the App Service plan and hosting app, configuring logging, then performing ZIP deployment. Sedan visas meddelandet "Du kan starta appen på http:// < appnamn .azurewebsites.net", som är > appens URL på Azure.It then gives the message, "You can launch the app at http://<app-name>.azurewebsites.net", which is the app's URL on Azure.

Exempel på utdata från kommandot az webapp up

Har du problem?Having issues? Läs först i felsökningsguiden,annars kan du berätta för oss.Refer first to the Troubleshooting guide, otherwise, let us know.

Anteckning

Kommandot az webapp up utför följande åtgärder:The az webapp up command does the following actions:

Bläddra till appenBrowse to the app

Bläddra till det distribuerade programmet i webbläsaren på URL:en http://<app-name>.azurewebsites.net .Browse to the deployed application in your web browser at the URL http://<app-name>.azurewebsites.net. Det kan ta någon minut innan appen startar, så om du ser en standardappsida väntar du en minut och uppdaterar webbläsaren.It can take a minute or two for the the app to start, so if you see a default app page, wait a minute and refresh the browser.

Python-exempelkoden kör en Linux-container i App Service med hjälp av en inbyggd avbildning.The Python sample code is running a Linux container in App Service using a built-in image.

Köra en Python-exempelapp i Azure

Grattis!Congratulations! Du har distribuerat Python-appen till App Service.You've deployed your Python app to App Service.

Har du problem?Having issues? Läs först i felsökningsguiden,annars kan du berätta för oss.Refer first to the Troubleshooting guide, otherwise, let us know.

Distribuera om uppdateringarRedeploy updates

I det här avsnittet gör du en liten kodändring och distribuerar sedan om koden till Azure.In this section, you make a small code change and then redeploy the code to Azure. Kodändringen innehåller en print -instruktion för att generera loggningsutdata som du arbetar med i nästa avsnitt.The code change includes a print statement to generate logging output that you work with in the next section.

Öppna app.py i ett redigeringsprogram och uppdatera hello funktionen så att den matchar följande kod.Open app.py in an editor and update the hello function to match the following code.

def hello():
    print("Handling request to home page.")
    return "Hello, Azure!"

Öppna hello/views.py i ett redigeringsprogram och uppdatera hello funktionen så att den matchar följande kod.Open hello/views.py in an editor and update the hello function to match the following code.

def hello(request):
    print("Handling request to home page.")
    return HttpResponse("Hello, Azure!")

Spara ändringarna och distribuera sedan appen igen med az webapp up kommandot igen:Save your changes, then redeploy the app using the az webapp up command again:

az webapp up

Det här kommandot använder värden som cachelagras lokalt i .azure/config-filen, inklusive appnamn, resursgrupp och App Service plan.This command uses values that are cached locally in the .azure/config file, including the app name, resource group, and App Service plan.

När distributionen är klar växlar du tillbaka till webbläsarfönstret och http://<app-name>.azurewebsites.net öppnar .Once deployment is complete, switch back to the browser window open to http://<app-name>.azurewebsites.net. Uppdatera sidan, som ska visa det ändrade meddelandet:Refresh the page, which should display the modified message:

Köra en uppdaterad Python-exempelapp i Azure

Har du problem?Having issues? Gå först till felsökningsguiden,annars kan du berätta för oss.Refer first to the Troubleshooting guide, otherwise, let us know.

Tips

Visual Studio Code innehåller kraftfulla tillägg för Python och Azure App Service, vilket förenklar distributionen av Python-webbappar till App Service.Visual Studio Code provides powerful extensions for Python and Azure App Service, which simplify the process of deploying Python web apps to App Service. Mer information finns i Distribuera Python-appar till App Service från Visual Studio Code.For more information, see Deploy Python apps to App Service from Visual Studio Code.

StrömningsloggarStream logs

Du kan komma åt konsolloggarna som genereras inifrån appen och containern som den körs i.You can access the console logs generated from inside the app and the container in which it runs. Loggarna innehåller alla utdata som genereras med hjälp av print instruktioner.Logs include any output generated using print statements.

Om du vill strömma loggar kör du kommandot az webapp log tail:To stream logs, run the az webapp log tail command:

az webapp log tail

Du kan också inkludera --logs parametern med kommandot az webapp up för att automatiskt öppna loggströmmen vid distributionen.You can also include the --logs parameter with then az webapp up command to automatically open the log stream on deployment.

Uppdatera appen i webbläsaren för att generera konsolloggar, som innehåller meddelanden som beskriver HTTP-begäranden till appen.Refresh the app in the browser to generate console logs, which include messages describing HTTP requests to the app. Om inga utdata visas omedelbart kan du försöka igen om 30 sekunder.If no output appears immediately, try again in 30 seconds.

Du kan även granska loggfilerna från din webbläsare via https://<app-name>.scm.azurewebsites.net/api/logs/docker.You can also inspect the log files from the browser at https://<app-name>.scm.azurewebsites.net/api/logs/docker.

Om du vill stoppa loggströmningen när som helst trycker du + Ctrl C i terminalen.To stop log streaming at any time, press Ctrl+C in the terminal.

Har du problem?Having issues? Gå först till felsökningsguiden,annars kan du berätta för oss.Refer first to the Troubleshooting guide, otherwise, let us know.

Hantera Azure-appenManage the Azure app

Gå till Azure-portalen för att hantera den app som du skapade.Go to the Azure portal to manage the app you created. Sök efter och välj App Services.Search for and select App Services.

Gå till App Services i Azure Portal

Välj namnet på din Azure-app.Select the name of your Azure app.

Gå till Python-appen i App Services i Azure Portal

När du väljer appen öppnas sidan Översikt där du kan utföra grundläggande hanteringsuppgifter som att bläddra, stoppa, starta, starta om och ta bort.Selecting the app opens its Overview page, where you can perform basic management tasks like browse, stop, start, restart, and delete.

Hantera Python-appen på översiktssidan i Azure Portal

Menyn App Service innehåller olika sidor för att konfigurera din app.The App Service menu provides different pages for configuring your app.

Har du problem?Having issues? Läs först i felsökningsguiden,annars kan du berätta för oss.Refer first to the Troubleshooting guide, otherwise, let us know.

Rensa resurserClean up resources

I de föregående stegen skapade du Azure-resurser i en resursgrupp.In the preceding steps, you created Azure resources in a resource group. Resursgruppen har ett namn som "appsvc_rg_Linux_CentralUS" beroende på din plats.The resource group has a name like "appsvc_rg_Linux_CentralUS" depending on your location. Om du fortsätter att köra webbappen medför det vissa löpande kostnader (se App Service prissättning).If you keep the web app running, you will incur some ongoing costs (see App Service pricing).

Om du inte förväntar dig att behöva dessa resurser i framtiden tar du bort resursgruppen genom att köra följande kommando:If you don't expect to need these resources in the future, delete the resource group by running the following command:

az group delete --no-wait

Kommandot använder resursgruppens namn som cachelagras i .azure/config-filen.The command uses the resource group name cached in the .azure/config file.

Argumentet --no-wait gör att kommandot kan returnera innan åtgärden har slutförts.The --no-wait argument allows the command to return before the operation is complete.

Har du problem?Having issues? Berätta för oss.Let us know.

Nästa stegNext steps