Software Collections:Python

From SME Server
Revision as of 07:30, 14 October 2017 by Gzartman (talk | contribs) (Install application)
Jump to: navigation, search
Warning.png Work in Progress:
This page is a Work in Progress. The contents off this page may be in flux, please have a look at this page history the to see list of changes.



Installing and running Python via Software collections

Software Collections has been introduced by Redhat as a safe way to run selective applications on Redhat based distributions in an isolated environment (separate directory), thus not effecting the base installation of the OS. This provides the possibility to e.g. test an application, install a higher version then the version installed by the base system (e.g. PHP), or temporarily use an application.

Software Collections applications can be started at boot as a system service, manually or in a specific shell.




To be able to install an application from the Software Collections, one must install software collections first. Please see Software collections on how to install this.

The below procedure if for Python 3.3, but you can also install Python 2.7 instead or even along side. Simply replace all '33' metionings with '27'. To switch between the two versions, you need to remove the script from the /etc/profile.d directory as described below.

Required repository

After installing Software Collections, the scl repository for Python has to be added to the yum repositories. Please see here on how the enable the scl-python33 repository.

Install application

After installing the scl-python33 repository, Python can be installed by issuing the following command:

yum install python33 --enablerepo=centos-sclo-rh

Once installed, the application is installed on your SME Server at /opt/rh/python33 as an isolated environment for the application.

Test installed application

Once Python has been installed, you can check if it is correctly installed by issuing:

scl -l

which will provide you a listing of all applications that are available on your system installed via Software Collections.

A simple man page about the installed application is now available via:

scl enable python33 'man python33'

press 'q' to leave the man page


More examples to follow

To make use of Python version 3.3.2 in the current shell environment, one needs to enter the following command:

scl enable python33 bash

and test with:

python --version

Enable the python 3.3 environment at boot time

The preferred way to enable scl python33 permanently at logout or (re)boot is to add a custom script called '' to /etc/profile.d/ directory with the following content and make it executable.

source /opt/rh/python33/enable
export X_SCLS="`scl enable python33 'echo $X_SCLS'`"

Other articles in this category