Python 3.13 packages are now available in the Extra Packages for Enterprise Linux (EPEL) repositories for Red Hat Enterprise Linux 9 and 10 (starting from EPEL 10.1). This provides a way for developers using RHEL and CentOS Stream to work with the latest Python version.
This article outlines how to install Python 3.13 from EPEL and explains its availability in the context of the Red Hat Enterprise Linux ecosystem.
How to install Python 3.13
First, ensure the EPEL repository is enabled on your system. Follow the instructions published in the official documentation to enable the repository compatible with your operating system.
Once the EPEL repository is enabled, you can install Python 3.13.
sudo dnf install python3.13
To verify the installation, check the version (the printed value should be Python 3.13.7 or similar):
python3.13 --version
Available packages and use of virtual environments
The EPEL repository provides the core Python 3.13 interpreter, its standard library, and essential tools like pip
, setuptools
, packaging
, and flit-core
.
For managing project dependencies, it is recommended to use virtual environments. This isolates package requirements on a per-project basis.
Create a virtual environment:
python3.13 -m venv venv
Activate the environment:
. venv/bin/activate
With that, the prefix
(venv)
should appear before the shell prompt symbol, indicating the virtual environment is currently active. Use Python andpip
: Inside the activated environment, thepython
andpip
commands are aliased to the 3.13 versions.python --version
Install development packages into the virtual environment:
python -m pip install numpy pandas
Availability in EPEL versus RHEL
The inclusion of software in the official RHEL repositories differs from its inclusion in the Extra Packages for Enterprise Linux repository. The decision to make Python 3.13 available in EPEL rather than base RHEL is based on several factors:
- Maintenance and support: Red Hat Enterprise Linux provides a long-term support lifecycle (up to 10 years). Including a new software stack like Python represents a significant, long-term maintenance commitment for Red Hat.
- System stability: The primary goal of Red Hat Enterprise Linux is stability. Adding new major versions of software to the base OS is done cautiously to avoid potential conflicts and to minimize the system's attack surface.
- Release cadence policy: The RHEL team has generally been releasing 2 out of every 3 new Python versions to balance modernization with the goals of stability and supportability. For example, Red Hat Enterprise Linux 9 includes Python 3.9, 3.11, and 3.12, skipping 3.10.
This is the role that EPEL fills. As a community-maintained repository, EPEL can provide newer software versions to users who need them, without affecting the stability and support commitments of the underlying enterprise distribution.
Summary
Python 3.13 is now accessible for users of Red Hat Enterprise Linux 9 and 10 and its derivatives through the community-supported EPEL repository. This allows for development and testing with the newest Python features in Enterprise Linux.
Learn more about getting access to Red Hat Enterprise Linux with a Red Hat Developer subscription.