Supported Python versions

Cloud Composer supports Python 2 and Python 3. Environments with different Python versions can run in the same Google Cloud project.

How versioning works

You can specify the major Python version. For the major version you specify, Cloud Composer installs the latest supported major.minor.patch version. The default Python version is used if the version is unspecified.

Major version Minor-Patch version
2 2.7.15
3 (default) 3.6.6

You can see the major Python version for your environment in the environment details.

Selecting a version

When you create a new Cloud Composer environment, you can select the Python version. Once created, you cannot change an environment's Python version.

Important information about Python 2 support

Cloud Composer currently supports Python 2, and will continue to do so until Airflow stops supporting it. However, Python 2 reached end-of-life on January 1, 2020, which can lead to supportability limitations for Python 2 environments. New Airflow operators, sensors, and hooks are only developed for Python 3, which may cause connectivity options to be outdated for Python 2 environments. As such, we highly recommend migrating your DAGs to a Python 3 environment, and creating all new environments with Python 3.

How Python versions affect DAGs and dependencies

When you install Python dependencies from the Python Package Index, the environment's Python version determines which pip installs the package. For example, Python 3 uses pip3. Additionally, the pip command points to pip3.

Because the Python 3 package includes Python 2, the issue of which python interpreter to use arises (PEP 394). For Python 3 environments, the python command points to python3. Because Python 2 is scheduled for end-of-life, we recommend that you explicitly use python2 or python3 in operators, such as BashOperator and PythonOperators.

What's next