Get started developing with Python on Red Hat Enterprise Linux in under 10 minutes.
Introduction and Prerequisites
In this tutorial, you will see how to get started with Python development on Red Hat Enterprise Linux by creating a simple Hello World application. The tutorial should take 5 to 10 minutes to complete.
On Red Hat Enterprise Linux, Python is installed by default. You can skip directly to Hello Word and your first application, or continue reading to learn more about installing and maintaining software packages.
Before you begin, you will need a current Red Hat Enterprise Linux 6 or 7 workstation or server subscription that allows you to download software and get updates from Red Hat. If you don’t have an active subscription, register and obtain the RHEL Developer Suite (includes RHEL server) from here.
The native version of Python are:
Red Hat Enterprise Linux 6 - 2.6
- Red Hat Enterprise Linux 7 - 2.7
If you want a newer version of Python for either RHEL 6 or 7, use the updated versions available via Red Hat Software Collections.
If you have problems at any point, see Troubleshooting and FAQ.
1. Prepare your system
In this step, you will download and install the latest updates from Red Hat for your system. In the process, you will verify that your system has a current Red Hat subscription and is able to receive updates.
First, start a Terminal window from the Application menu. Then after using
su to change to the root user ID, use
subscription-managerto verify that you have access to Red Hat Software Repositories.
$ su - # subscription-manager repos --list-enabled
If you don’t see any enabled repositories, your system might not be registered with Red Hat or might not have a valid subscription. See Troubleshooting and FAQ for more information.
Now download and install any available updates by running
yum update. If updates are available,
yum will list them and ask if it is OK to proceed.
# yum update
2. Setup your development environment
Python 2.7 and a number of popular Python modules are installed by default on Red Hat Enterprise Linux. To see what Python packages are already installed, run the following
yum command after becoming root with
su. If you don’t already have a Terminal window open, start one from the Applications menu.
$ su - # yum list installed python\*
If Python wasn’t installed or needed an update, you would only need to run one
# yum install python
To see what other Python modules are included with Red Hat Enterprise Linux, run this command:
# yum list available python\*
You are now done with the part that requires root privileges. Type
exit to return to your normal user ID.
# exit $
If you need help, see Troubleshooting and FAQ.
3. Hello World and your first application
In this step, you will first run Python in interactive mode. Then you will create a Python application that can be run from the command line. If you don’t have a Terminal window open, start it from the Applications menu. You should run under your normal user ID, If you are still running as root, type
$ python Python 2.7.5 (default, Apr 9 2015, 11:03:32) Type "help", "copyright", "credits" or "license" for more information. >>> print("Hello, Red Hat Developers World") Hello, Red Hat Developers World >>> quit()
The next step is to create a Python application that can be run from the command line. Using your preferred text editor, create a file named
$ nano hello.py
Add the following text to the file:
#!/usr/bin/python import sys version = "Python %d.%d" % (sys.version_info.major, sys.version_info.minor) print "Hello, Red Hat Developers World from",version
Save it and exit the editor. Then make the script executable and run it:
$ chmod +x hello.py $ ./hello.py Hello, Red Hat Developers World from Python
Where to go next?
Python Tutorial at Python.org
Find additional Python modules
$ yum list available python\*
Want to know more about what you can do with RHEL?
Become a Red Hat developer: developers.redhat.com
Red Hat delivers the resources and ecosystem of experts to help you be more productive and build great solutions. Register for free at developers.redhat.com.
Follow the Red Hat Developer Blog
Learn about Red Hat Software Collections
Red Hat Software Collections deliver the latest stable versions of dynamic languages, open source databases, and web development tools that can be deployed alongside those included in Red Hat Enterprise Linux. Red Hat Software Collections is available with select Red Hat Enterprise Linux subscriptions and has a three-year life cycle to allow rapid innovation without sacrificing stability.
Troubleshooting and FAQ
My system is unable to download updates from Red Hat.
I don’t have a current Red Hat subscription, can I get an evaluation?
If you don’t have a Red Hat Enterprise Linux subscription, you can try it for free. Get started with an evaluation at https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux/server/trial. Developers should select the Red Hat Enterprise Linux Developer Workstation option to ensure your evaluation includes additional tools from the Red Hat Developer Toolset and Red Hat Software Collections.
Some Python code/examples I’ve tried don’t work with Python 2 from Red Hat Enterprise Linux.
Python 3.x is a new version of the Python language that is incompatible with the previous 2.x series. The version of Python included with Red Hat Enterprise Linux in
/usr/bin/pythonis from the Python 2.x series. There is a large amount of code written for Python 2.x that will not run without modification on Python 3.x. Likewise, code that is written for Python 3 is incompatible with Python 2.
For more information see “Should I use Python 2 or Python 3 for my development activity?” at Python.org
How can I get Python 3 on Red Hat Enterprise Linux?
Python 3 is available through Red Hat Software Collections, which delivers the latest stable versions of dynamic languages, open source databases, and web development tools that can be deployed alongside those included in Red Hat Enterprise Linux. Red Hat Software Collections is available with select Red Hat Enterprise Linux subscriptions and has a three-year life cycle to allow rapid innovation without sacrificing stability.