[PyQt] PyQt releases with private SIP?

Phil Thompson phil at riverbankcomputing.com
Sun Feb 19 01:30:13 GMT 2017

On 18 Feb 2017, at 8:31 pm, Terekhov, Mikhail <termim at gmail.com> wrote:
> On 2/18/17 13:34, Phil Thompson wrote:
>> On 18 Feb 2017, at 6:23 pm, Mikhail Terekhov <termim at gmail.com> wrote:
>>> Hi,
>>> Right now every time new release of SIP and PyQt5 comes out we need to
>>> recompile PyQt4 as well even if it was not changed. Would it be possible
>>> to have PyQt5 release with private SIP? That would make it much easier
>>> to have multiple PyQt versions installed simultaneously. Yes, it is
>>> possible to have separate VE for different versions but too many VEs
>>> quickly becomes VE hell.
>> You only need to recompile PyQt4 if the major version of the ABI changes. That should happen very infrequently.
> In theory that is true, but it happened several times in the past when I updated packages on OBS with new minor releases of PyQt4 and SIP but didn't update QScintilla  and then loading Qsci resulted in segmentation fault until QScintilla package was not recompiled.

Yes, when the major ABI changes you have to re-compile everything (which should be very infrequently).

> Another case would be Windows - rebuilding here is a major undertaking and having independent versions here would be very convenient.
> BTW leaving old version forever working without maintenance and recompilation is a Good Thing (tm) :)

Yes, balanced against the overhead of supporting deprecated code.

The introduction of wheels has made binary (as opposed to source) compatibility much more important. It triggered the switch to the limited Python API. I acknowledge the issue you raise - but I don't think it is worth worrying about anymore.


More information about the PyQt mailing list