Installing Python 3

Certain Cloudera services such as Cloudera Manager and Hue use Python 3.x. Installing Python 3.x is mandatory to deploy Cloudera Base on premises. Review the supported operating systems (OS) and use the corresponding instructions to install the recommended Python version.

Cloudera Manager 7.13.2 or higher versions does not work with Python 2.7. While using Cloudera Manager 7.13.2 or higher versions with Cloudera Runtime 7.3.1 or 7.1.9 version, you may remove all Python 2 versions from the operating system, only when the operating system allows you to remove the Python 2 version.

If you are running Cloudera Runtime 7.1.7 SP3 or below versions with Cloudera Manager 7.13.2, then Python 2.7 is still required for the Cloudera Runtime components. In this scenario, you must install both Python 2.7 (for Cloudera Runtime components) and Python 3.x (for Cloudera Manager 7.13.2).

Cloudera Manager 7.13.2 now supports only Python 3.11 version, when used in combination with Cloudera Runtime 7.3.2, 7.3.1.500 or higher versions, and 7.1.9 SP1 CHF11 or higher versions.

The tables in the following sections list the supported operating systems, the Python version that is distributed with those operating systems, and the Python 3.x versions required for deploying Cloudera:

Python 3.12 support in Cloudera Manager 7.13.2 SP1

This section provides an overview of Python 3.12 support in Cloudera Manager 7.13.2 SP1 (7.13.2.10000), details how the Cloudera Manager Agent selects Python versions, and outlines compatibility rules for managed clusters across different Cloudera Runtime releases.

Python version support strategy

Understand how Cloudera Manager 7.13.2 SP1 introduces Python 3.12 while preserving backwards compatibility across managed cluster releases.

Starting with Cloudera Manager 7.13.2 SP1, Cloudera Manager supports Python 3.12 alongside Python 3.11. The Cloudera Manager Agent relies strictly on Python 3.12 or Python 3.11 for its internal operations, while maintaining full compatibility with earlier Cloudera Runtime releases on managed hosts.
Managed Runtime cluster versions Supported Python versions
Cloudera Manager 7.13.2 SP1 Agent Python 3.12, Python 3.11
Cloudera Runtime 7.3.2 SP1 managed clusters Python 3.12, Python 3.11
Cloudera Runtime 7.3.2.0 managed clusters Python 3.11
Cloudera Runtime 7.3.1 managed clusters Python 3.11, 3.10, 3.9, 3.8
Cloudera Runtime 7.1.9 Service Pack 1 (starting with Cumulative Hotfix 9 (CHF 9) and higher) managed clusters. Python 3.11, 3.10, 3.9, 3.8
Cloudera Runtime 7.1.7 / 7.1.8 (legacy) Python 2.7
How automatic Python selection works

Learn how the Cloudera Manager Agent automatically detects and selects the highest compatible Python executable on host systems.

Cloudera Manager 7.13.2 SP1 uses a highest-available-version resolution strategy to select the Python runtime:
  • For Cloudera Manager Agent operations: The agent checks for python3.12 first, then falls back to python3.11.

  • For managed cluster processes: Cloudera Manager passes the --pick-highest-python-ver-for-cdh "<release_version>" flag in each role's supervisor.conf. The agent consults an internal compatibility matrix to determine valid Python versions for that specific release and executes the highest version installed on the host.

Python compatibility across Cloudera Runtime releases

Review the rules governing Python version support across Service Packs, Cumulative Hotfixes, and legacy Cloudera Runtime cluster releases.

You can upgrade Cloudera Manager to version 7.13.2 SP1 without installing Python 3.12 on older managed cluster hosts. Cloudera Manager ensures it will never run an unsupported Python version on a managed host. The following table summarizes the Python version selection behavior across Cloudera Runtime versions:
Cloudera Runtime version Supported Python version Cloudera Manager Agent selection logic
7.3.2.0 and all subsequent cumulative hotfix (CHF) releases Python 3.11 Exclusively selects Python 3.11 for all managed operations.
7.3.1 and higher Python 3.11, 3.10, 3.9, or 3.8 Automatically selects an available version based on host system availability.
7.1.9 (SP1 CHF 9 and higher) Python 3.11, 3.10, 3.9, or 3.8 Selects an available version based on host system availability.
7.1.9 (releases lower than SP1 CHF 9) System default Relies strictly on the default Python packages provided by the host operating system.
7.1.7 and 7.1.8 Python 2.7 Continues using Python 2.7 for all operations.

Python support matrix

The following details are applicable only when using Cloudera Manager 7.13.2 with Cloudera Runtime 7.3.2
Operating system Python version distributed with the OS Python version required for deploying Cloudera Installation required?
RHEL 8.10 Python 3.6 Python 3.11 Yes
RHEL 8.8 Python 3.6 Python 3.11 Yes
RHEL 8.8 FIPS Python 3.6 Python 3.11 Yes
RHEL 9.6 Python 3.9 Python 3.11 Yes
RHEL 9.5 Python 3.9 Python 3.11 Yes
RHEL 9.4 Python 3.9 Python 3.11 Yes
RHEL 9.2 Python 3.9 Python 3.11 Yes
RHEL 9.1 Python 3.9 Python 3.11 Yes

Rocky Linux 9.6

Python 3.9 Python 3.11 Yes

Rocky Linux 9.4

Python 3.9 Python 3.11 Yes
SLES 15 SP5 Python 3.6 Python 3.11 Yes
SLES 15 SP6 Python 3.6 Python 3.11 Yes
Oracle 9.2 UEK Python 3.9 Python 3.11 Yes
Oracle 8.10 UEK Python 3.6 Python 3.11 Yes
Ubuntu 24.04 Python 3.12 Python 3.11 Yes
Ubuntu 22.04 Python 3.10 Python 3.11 Yes

Difference between standard and custom Python packages

The term standard Python package in Cloudera documentation refers to the Python package that is distributed with the OS, or an unmodified Python binary that is compiled from the source. If you have made modifications or customizations to the Python source code and then compiled the binaries into a package, then that is referred to as the custom Python package.