Python Flask logo

I recently got my zero-dollar developer copy of Red Hat Enterprise Linux (RHEL, version 7.5) and built a virtual machine (VM) to run it. There it was, on my PC, running in VirtualBox...a gleaming, shiny, brand-spanking-new VM running RHEL. Whatever shall I do with it?

Then I got the idea: I'll install the Red Hat Container Development Kit (CDK) and build some Python-based containers. I'll use Flask, a terrific microframework that makes building RESTful services easy.

But I don't have RHEL 7.5

If you aren't using RHEL 7.5, not to worry. Because Python 3 is part of the Red Hat Software Collections (RHSCL), this works with all minor versions of RHEL 7.

I Mean...Obviously...

Obviously, installing Flask would be easy. With the confidence that often accompanies ignorance, I went to the command line and typed the simple command pip install flask and waited for the good news.


RHEL is Yummy

Well, hang on a minute; I'm on RHEL, so yum is the package manager (that is, installation utility). Obviously, the correct command is sudo yum install pip.   Note: if sudo doesn't work for you see How to enable sudo on Red Hat Enterprise Linux.

yum search to the Rescue

Frustrated, but not to be defeated, I figured pipa Python utility—must be part of the Python package for RHEL. I used the command yum search python36 to see if any Python 3.6 packages were available, and voila!

Aha! A package specifically built by Red Hat. Finally, the install command I was looking for: sudo yum install rh-python36-python-pip.noarch.

(Editor's Note: To install Python 3.6 you need to enable  the RHSCL and Optional software repos for yum.  See How to install Python 3, pip, venv, virtualenv, and pipenv for more information.)


I'm An Enabler

Now, all I needed to do was enable it in a bash shell session and I'd be ready to start writing Python code using Flask:

sudo scl enable rh-python36 bash

I then immediately ran pip install --upgrade pip and my pip installation was updated to version pip-10.0.1.

Ready for Flask microframework

Now, finally, I could install Flask by running pip install flask.

Editor's Note: Using Python virtual environments and avoiding pip install as root are best practices. See How to install Python 3, pip, venv, virtualenv, and pipenv for more information.


Finally—for real this time—I tested it by creating and running the app that's featured on the Flask project home page. It worked.

Python Microservices

I now have Python 3.6 and Flask installed on my RHEL VM. All I need to do now is to install the CDK and I can start building Python microservices.


Last updated: March 24, 2023