[PyKDE] Multiple PyQt version in one Python installation

Andreas Pakulat apaku at gmx.de
Mon Nov 6 07:18:05 GMT 2006

On 05.11.06 19:20:00, Simon Edwards wrote:
> On Sunday 05 November 2006 13:15, Phil Thompson wrote:
> > I understand where you are coming from, and the situation you describe is 
> > perfectly possible - and no different from hundreds of other open source 
> > packages.
> I don't think that is quite the case. The standard approach that distributions 
> use for this kind of problem is to make it possible to install the old 
> version along side the new one. This is very common for shared libraries for 
> example.

And they also re-compile their apps against the newer version as soon as
possible, so they can obsolete the old version and drop it. Because
maintaining 2 or more versions of the same lib is a nightmare.

> > If you are using out of distro packages you expect to have to recompile them 
> > from time to time. The most obvious example is if your distro updates it's 
> > version of Python - you have to recompile your extension modules, whether 
> > they are SIP based or not.
> I am fairly sure that that is not how Debian handles Python these days.

Actually it is.

> They 
> phase in support for newer Python versions and modules, while maintaining the 
> older packages for any software that needs them. Right I use Python 2.4 and I 
> can also install packages for 2.3 or 2.5, and use the them at the same time.

Well, different Python versions and especially their extension modules
are installed into totally different prefixes. 

Lets say SIP version X is coming out and uncompatible with version Y
(X>Y) then Debians python maintainers do one of two things:

a) Prepare a new upload of sip (version X) to unstable, upload it and
when it hits unstable recompile all the dependant modules, which
currently is PyQt3/4 and PyKDE - AFAIK

b) Prepare an upload for experimental and also upload new
PyQt/PyKDE/Whatever packages for experimental too.

This is no different than an upgrade of libstdc++ would work, if they
change their ABI or even API. You can't install 2 versions of that
either, because as soon as the "basic libs" (like Qt for
Qt/KDE/PyKDE/PyQt apps) compile against it your applications will break
and you have to recompile everything.

But these things are well prepared in Debian in general and they work
really smooth, except for those unstable-users that are unfamiliar and
shouldn't be using unstable in the first place...

And when you compare the situation of PyQt3/PyQt4 to that of old/new sip
version your comparing apples and pears. The proper comparison would be
between 2 different versions of PyQt4, which cannot be installed
together and you might have a similar problem there.


Courage is your greatest present need.

More information about the PyQt mailing list