Troubles migrating from SIP 4.x to 6.x; guides available?

Gehlhaar, Daniel Kurt dan.gehlhaar at
Mon Feb 8 21:35:17 GMT 2021

Hello everyone.

I have been using SIP 4.x for a long time now, with Qt 5.12.x and various versions of PyQt (most recently, 5.13.0).  We have a whole multiplatform development ecosystem built around the 'sip' tool which includes auto-generating the .sip files, running the 'sip' executable with a fair number of command line flags, and then invoking platform-specific build tools (a specific custom installation of GCC on Linux, Visual Studio on Windows) to compile these, and build them into a .pyd file. It is the .pyd file that is the ultimate target here, to allow Python API access into our (very large) C++ application. In particular, we are not building a PyPi installation, wheel, or anything else. We don't install anything under any Python site-packages. We just need that .pyd!

One of our dependencies went from the 5.12 LTS to the 5.15 LTS trees, so I downloaded, built, and installed Qt 5.15.2 (we need a custom build). I went to do the "usual stuff" with PyQt 5.15.2 and SIP 6.0.0, and then wow, everything's all changed!

I have read through (I think...) all of the documentation, but am struggling to understand what I need to change in my current system to move to the "new way". For example, how do I specify a path to a compiler, the command line flags for the compiler, and that sort of thing, for compiling the SIP-generated code? What became of all of the command line flags to the 'sip' executable (i.e. what takes their place in the new system)? It seems like all of the examples are very remedial, and then for more complex systems, the documentation points to very generic standards (i.e. PEP 508, etc) and I'm having real troubles bridging the gap here.

Are there any "HOW-TO" guides for moving from SIP 4 (my last version used was 4.19.18) to SIP 6.0.0?

Dan Gehlhaar

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the PyQt mailing list