Edit on GitHub
Report issue
Page history

App Engine flexible environment quickstart using Python

Author(s): @jscud ,   Published: 2019-03-22

App Engine flexible environment quickstart using Python

Take the interactive version of this tutorial, which runs in the Cloud Console:

Open in Google Cloud Console


This tutorial shows you how to deploy a sample application to App Engine using the gcloud command.

Here are the steps you will be taking.

  • Create a project

    Projects bundle code, VMs, and other resources together for easier development and monitoring.

  • Build and run your "Hello, world!" app

    You'll learn how to run your app using Cloud Shell, right in your browser. At the end, you'll deploy your app to the web using the gcloud command.

  • After the tutorial...

    Your app will be real and you'll be able to experiment with it after you deploy, or you can remove it and start fresh.

Project setup

Google Cloud organizes resources into projects, which collect all of the related resources for a single application in one place.

Begin by creating a new project or selecting an existing project for this tutorial.

For details, see Creating a project.

Using Cloud Shell

Cloud Shell is a built-in command-line tool for the Cloud Console. We're going to use Cloud Shell to deploy our app.

Open Cloud Shell

Open Cloud Shell by clicking the Activate Cloud Shell button in the navigation bar in the upper-right corner of the console.

Clone the sample code

Use Cloud Shell to clone and navigate to the "Hello World" code. The sample code is cloned from your project repository to the Cloud Shell.

If the directory already exists, remove the previous files before cloning.

git clone https://github.com/GoogleCloudPlatform/python-docs-samples

Then, switch to the tutorial directory:

cd python-docs-samples/appengine/flexible/hello_world

Configuring your deployment

You are now in the main directory for the sample code. We'll look at the files that configure your application.

Exploring the application

Enter the following command to view your application code:

cat main.py

Exploring your configuration

App Engine uses YAML files to specify a deployment's configuration. app.yaml files contain information about your application, like the runtime environment, URL handlers, and more.

Enter the following command to view your configuration file:

cat app.yaml

The syntax of this file is YAML. For a complete list of configuration options, see the app.yaml reference.

Testing your app

Test your app on Cloud Shell

Cloud Shell lets you test your app before deploying to make sure it's running as intended, just like debugging on your local machine.

To test your app enter the following:

virtualenv env &&
source env/bin/activate
pip install  -r requirements.txt
python main.py

Preview your app with "Web preview"

Your app is now running on Cloud Shell. You can access the app by clicking the Web preview button at the top of the Cloud Shell pane and choosing Preview on port 8080.

Terminating the preview instance

Terminate the instance of the application by pressing Ctrl+C in the Cloud Shell.

Deploying to App Engine

Create an application

If you already created an app, you can skip this step.

To deploy your app, you need to create an app in a region:

gcloud app create

Deploying with Cloud Shell

You can use Cloud Shell to deploy your app. To deploy your app enter the following:

gcloud app deploy

Visit your app

Congratulations! Your app has been deployed. The default URL of your app is a subdomain on appspot.com that starts with your project's ID:


Try visiting your deployed application.

View your app's status

You can check in on your app by monitoring its status on the App Engine dashboard.

Open the Navigation menu in the upper-left corner of the console.

Then, select the App Engine section.

Disable your project

  1. Go to the Settings page.
  2. Click Disable Application.


You have successfully deployed an App Engine application!

Here are some next steps:

Download the Cloud SDK and develop locally

Install the Cloud SDK on your local machine.

Build your next application

Learn how to use App Engine with other products:

Run Django. Develop Django apps running on App Engine. Learn more in the Django on App Engine documentation.

Learn to use Datastore. Datastore is a highly-scalable NoSQL database for your applications. Learn more in the Datastore documentation.

Submit a tutorial

Share step-by-step guides

Submit a tutorial

Request a tutorial

Ask for community help

Submit a request

View tutorials

Search Google Cloud tutorials

View tutorials

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see our Site Policies. Java is a registered trademark of Oracle and/or its affiliates.