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

Phil Thompson phil at riverbankcomputing.com
Tue Feb 9 08:58:52 GMT 2021


On 08/02/2021 21:35, Gehlhaar, Daniel Kurt wrote:
> 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?

Most of the old command line options are specified on a per-bindings 
basis...

https://www.riverbankcomputing.com/static/Docs/sip/pyproject_toml.html#bindings-sections

Phil


More information about the PyQt mailing list