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.
Oops.
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 pip
—a 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.
Success!
Finally—for real this time—I tested it by creating and running the hello.py
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