How to install Python Flask on Red Hat Enterprise Linux 7
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.
Develop using Red Hat's most valuable products
Your membership unlocks Red Hat products and technical training on enterprise cloud application development.JOIN RED HAT DEVELOPER
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
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.
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.
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.