Stay organized with collections Save and categorize content based on your preferences.
Create a Python app in the App Engine flexible environment Region IDThe REGION_ID
is an abbreviated code that Google assigns based on the region you select when you create your app. The code does not correspond to a country or province, even though some region IDs may appear similar to commonly used country and province codes. For apps created after February 2020, REGION_ID.r
is included in App Engine URLs. For existing apps created before this date, the region ID is optional in the URL.
Learn more about region IDs.
Note: If you are deploying a new Python web service to Google Cloud, we recommend getting started with Cloud Run.This quickstart demonstrates how to create and deploy an app that displays a short message. You can use the sample application in this quickstart for any supported version of Python, by specifying the runtime version and operating system in your app.yaml
file.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Note: If you don't plan to keep the resources that you create in this procedure, create a project instead of selecting an existing project. After you finish these steps, you can delete the project, removing all resources associated with the project.Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Build API.
Install the Google Cloud CLI.
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
To initialize the gcloud CLI, run the following command:
gcloud init
Initialize your App Engine app with your project and choose its region:
gcloud app create --project=[YOUR_PROJECT_ID]
When prompted, select the region where you want to locate your App Engine application.
Caution: You cannot change an app's region once it has been set.Install the following on your local machine:
Run the following command to install the gcloud component that includes the App Engine extension for Python:
gcloud components install app-engine-python
Prepare your environment for Python development. It is recommended that you have the latest version of Python, pip
, and other related tools installed on your system. For instructions, refer to the Python Development Environment Setup Guide.
App Engine is regional, which means the infrastructure that runs your apps is located in a specific region, and Google manages it so that it is available redundantly across all of the zones within that region.
Meeting your latency, availability, or durability requirements are primary factors for selecting the region where your apps are run. You can generally select the region nearest to your app's users, but you should consider the locations where App Engine is available as well as the locations of the other Google Cloud products and services that your app uses. Using services across multiple locations can affect your app's latency as well as its pricing.
You cannot change an app's region after you set it.
Note: Two locations, which are calledeurope-west
and us-central
in App Engine commands and in the Google Cloud console, are called europe-west1
and us-central1
, respectively, elsewhere in Google documentation.
If you already created an App Engine application, you can view its region by doing one of the following:
Run the gcloud app describe
command.
Open the App Engine Dashboard in the Google Cloud console. The region appears near the top of the page.
We've created a Hello World app for App Engine so you can quickly get a feel for deploying an app to the Google Cloud.
Clone the Hello World sample app repository to your local machine.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
Alternatively, you can download the sample as a zip file and extract it.
Change to the directory that contains the sample code.
cd python-docs-samples/appengine/flexible/hello_world
To run the Hello World app on your local computer:
Mac OS / Linux Note: These instructions describe how to set up a virtual environment in Python 3. For Python 2 apps, use virtualenv to set up a virtual environment.python3 -m venv env
source env/bin/activate
hello_world
sample code. Then install dependencies:
cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
python main.py
http://localhost:8080
If you are using Cloud Shell, in the toolbar, click Web Preview and select Preview on port 8080 instead.
Use PowerShell to run your Python packages.
python -m venv env
.\env\Scripts\activate
hello_world
sample code. Then, install dependencies:
cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
python main.py
http://localhost:8080
The Hello World message from the sample app displays on the page. In your terminal window, press Ctrl+C to exit the web server.
Deploy and run Hello World on App Engine To deploy your app to the App Engine flexible environment:Deploy the Hello World app by running the following command from the hello_world
directory:
gcloud app deploy
Learn about the optional flags.
Commongcloud
command flags
--version
flag to specify an ID that uniquely identifies that version of your app, otherwise one is generated for you. Example: --version [YOUR_VERSION_ID]
--project
flag to specify an alternate Google Cloud project ID to what you initialized as the default in the gcloud
tool. Example: --project [YOUR_PROJECT_ID]
Example:
gcloud app deploy --version pre-prod-5 --project my-sample-app
To learn more about deploying your app from the command line, see Testing and Deploying Your App . For a list of all the command flags, see the gcloud app deploy
reference.
Launch your browser to view the app at https://PROJECT_ID.REGION_ID.r.appspot.com
gcloud app browsewhere
PROJECT_ID
represents your Google Cloud project ID.This time, the page that displays the Hello World message is delivered by a web server running on an App Engine instance.
Congratulations! You've deployed your first App Engine app to the App Engine flexible environment!
If you encountered any errors deploying your application, check the troubleshooting tips.See the following sections for information about cleaning up as well as links to possible next steps that you can take.
Clean upTo avoid incurring charges, you can delete your Google Cloud project to stop billing for all the resources used within that project.
appspot.com
URL, delete selected resources inside the project instead of deleting the whole project.If you plan to explore multiple architectures, tutorials, or quickstarts, reusing projects can help you avoid exceeding project quota limits.
Now that you know what it's like to develop and deploy App Engine apps, you can explore the rest of Google Cloud. You already have the Google Cloud CLI installed which gives you the tools to interact with products like Cloud SQL, Cloud Storage, Firestore, and more.
Learn about the App Engine flexible environmentHere are some topics to help continue your learning about App Engine:
Hello World code reviewHello World is the simplest possible App Engine app, as it contains only one service, has only one version, and all of the code is located within the app's root directory. This section describes each of the app files in detail.
main.py
The Hello World app is a basic one-file Flask app.
app.yaml
The app.yaml
file describes the following configuration for your app:
env: flex
, indicating your app uses the App Engine flexible environment.Specifies the runtime used by the app. If you exclude the runtime_version
setting, App Engine uses the latest Python version as the default version for your app.
The entrypoint
tells App Engine how to start the app. This app uses gunicorn
to serve the Python app as an alternative to Flask's development server (used when running locally). The $PORT
variable is set by App Engine when it starts the app. For more information about entrypoint
, see App startup.
For more information on how the Python runtime works, see The Python runtime.
For more details about how to design your app to take advantage of versions and services, see An overview of App Engine.
For more details about the configuration settings for App Engine, see Configuring your app with app.yaml.
requirements.txt
requirements.txt
and the Python package manager pip
declare and install application dependencies. Hello World requires Flask, a web framework, and Gunicorn, a WSGI server.
requirements.txt
defines the libraries that will be installed both locally and when deploying to App Engine.
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 the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-07 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["This document guides users through creating and deploying a Python \"Hello World\" app to the Google App Engine flexible environment, using Flask as the web framework."],["Before deployment, users need to initialize their App Engine app, choose a region (which cannot be changed later), install Git, and install the gcloud component for App Engine Python support."],["The quickstart provides instructions on how to clone the \"Hello World\" sample app repository, set up a Python virtual environment, install dependencies, and run the app locally before deploying."],["Deploying the app to App Engine involves using the `gcloud app deploy` command, and the document also explains how to access the deployed app via a specific URL structure and provides common flags to add to the command."],["The document outlines the key files in the Hello World app (`main.py`, `app.yaml`, `requirements.txt`), explaining their purpose, and it offers resources for further learning about App Engine and Google Cloud."]]],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4