How to upgrade python on Redhat?

David Fraser davidf at sjsoft.com
Wed Mar 9 09:36:30 CET 2005


penglish1 at gmail.com wrote:
> This question applies specifically to RHEL 3.0 (actually Whitebox), but
> also generally to Redhat and probably pretty much every distribution
> that uses python for distribution-related tasks (configuration
> managers, rpm package management, yum, etc).
> 
> So I want to upgrade to python 2.4 on Whitebox 3.0. Ideally I would
> like python to live in /usr/bin and replace the python 2.2 that ships
> with RHEL entirely. This gets pretty infeasable when you consider how
> many packages depend on python 2.2:
> 
> cd /usr/lib/python2.2/site-packages
> rpm -qf * | sort | uniq
> alchemist-1.0.27-1
> authconfig-4.3.7-1
> ethereal-0.10.3-0.30E.1
> file Ft is not owned by any package
> file _xmlplus is not owned by any package
> kudzu-1.1.22.2-1
> libuser-0.51.7-1
> libxml2-python-2.5.10-6
> mod_python-3.0.3-3.ent
> newt-0.51.5-1
> parted-1.6.3-29
> pygtk2-1.99.16-8
> pyOpenSSL-0.5.1-8
> pyorbit-1.99.3-5
> python-2.2.3-5
> python-optik-1.4.1-2
> pyxf86config-0.3.5-1
> redhat-config-printer-gui-0.6.47.3.19-1
> rhnlib-1.5-1.1.WB1
> rhpl-0.110.4-1
> rpm-python-4.2.2-0.14.WB1
> up2date-4.3.19-1.WB1
> 
> As best I can tell, I have 2 options:
> 
> 1) Install python 2.4 from source over /usr/bin/python. Rebuild *all*
> of the packages listed above from srpms and reinstall them.
> 
> 2) Give up and install python 2.4 in /usr/local. This leaves me in the
> awkward situation of having to ensure that all our in-house scripts,
> all the time use /usr/local/bin/python.
> 
> I don't suppose there is a simple, rpm package based approach to fixing
> this?
> 
The solution is found on the download page, basically you get the 
python2.4 rpm and install it alongside your existing python, and run 
your in-house scripts with /usr/bin/env python2.4:

# Q) Is it safe to install these RPMs on a Red Hat system? Will they 
over-write the system python and cause problems with other Red Hat 
applications that expect a different version of Python?
# A) The RPMs that start with "python2.4" are built to not interfere 
with the system Python. They install as "/usr/bin/python2.4" and will 
not conflict with the system Python unless you are running on a system 
that ships the a version of Python which has the same major/minor number.

To invoke the interpreter with these packages, you will explicitly have 
to run "python2.4". Note that all Python RPMs provided by Python.org and 
Red Hat provide a "/usr/bin/python2.4" (or similar, with major/minor 
number), even if they also provide "/usr/bin/python". So, yes, it should 
be safe.

Note that you may need to build and install a second copy of any 
packages which you need access to with the supplemental version of 
Python. You can build packages of these files for the Python 2.4 
interpreters for packages which use Distutils, by using the command 
"python2.4 setup.py bdist_rpm".



More information about the Python-list mailing list