Python 3.8 Application Stream is currently available with RHEL 8.2 beta. Since we support every new version of Python (3 years) that we release, we need to make sure that it's stable before bringing it to RHEL and the many hardware architectures it runs on. This is also important as customers expect technologies to be production grade. This table shows that over the years, we have officially supported more than one Python version simultaneously. You can download RHEL 8.2 beta from here. RHEL 8 was released with 2 versions of Python (2.7 and 3.6) because it's an important technology for us. We've used it ourselves for many years in building RHEL components and, among others in this industry, we had to rebuild it to 3.x (from 2.7).
FYI - new versions of Python and other components are released as Software Collections on RHEL 7, and as Application Streams on RHEL 8. The benefit of these is that the version of Python that's installed will have exactly the same packages and components for each system it's install it on. This simplifies things a lot (as you point out, it's complicated) and minimizes the "it works on my machine" issue.
Answer from Mike Guerette on Stack OverflowHow to install Python 3.8.1 on RHEL 8? - Stack Overflow
RHEL8 Python Version Management
rhel - python cannot find python in rhel8 - Unix & Linux Stack Exchange
fedora - How to install Python 3.8.1 on RHEL 8 UBI container with dnf? - Stack Overflow
Videos
I have a question about yum/dnf dependencies. Our security team’s software (Rapid 7) is flagging a lot of instances as having vulnerable Python versions installed. This is because RHEL8 uses Python 3.6 by default. I know we can install newer versions of Python, like 3.11, but is there a way to set that version as the default for any python3 dependency? Example: If I run yum install Ansible on a RHEL8 host yum will list python3.6 as a dependency and install it even if Python 3.11 is already installed. Messing around with Alternatives doesn’t seem to do anything for yum dependencies.
Edit: thanks all. Going to work with our Security team to have Rapid 7 ignore this.