The Python Runtime

Overview

Your Cloud Function runs in an environment consisting of an operating system version plus add-on packages, language support, and the Functions Framework library that supports and invokes your function. This environment is identified by the language version, and is known as the runtime.

For information about runtimes in general, and to learn which Ubuntu version each Python runtime uses, see the Cloud Functions execution environment.

To get started with Python on Cloud Functions, see the Quickstart.

Select your runtime

Cloud Functions supports several versions of Python, listed on the Runtime support page. You can select the preferred Python runtime for your function during deployment.

gcloud

If you're using the Google Cloud CLI, specify the runtime by using the --runtime parameter. For example:

gcloud functions deploy NAME --runtime python312 --trigger-http

For more deployment parameters, see Deploy using the Google Cloud CLI.

Console

If you're using the Google Cloud console, see the Google Cloud console quickstart for detailed instructions.

Function preparation

You can prepare a function directly from the Google Cloud console or write it on your local machine and upload it. To prepare your local machine for Python development, see Setting Up a Python Development Environment.

To get started quickly with Python on Cloud Functions, see the Quickstart.

Source code structure

For Cloud Functions to find your function's definition, your source code must follow a specific structure. See Writing Cloud Functions for more information.

Specifying dependencies

There are two ways to specify dependencies for Cloud Functions written in Python: using the pip package manager's requirements.txt file or packaging local dependencies alongside your function. For more information, see Specifying dependencies in Python.

Cloud Functions doesn't support specifying dependencies with the Pipfile/Pipfile.lock. Your project should not include these files.

Environment variables

Your Python runtime automatically sets certain environment variables for your function to use as needed. For details, see Using Environment Variables.