[PyQt] How to compile with PyQt5?

Phil Thompson phil at riverbankcomputing.com
Fri Jul 25 11:07:49 BST 2014


On 25/07/2014 10:28 am, Kovid Goyal wrote:
> On Fri, Jul 25, 2014 at 09:47:26AM +0100, Phil Thompson wrote:
>> On 25/07/2014 4:36 am, Kovid Goyal wrote:
>> >1600 lines? That's crazy. Here's an extract from calibre's build system.
>> 
>> To add some perspective to this, the amount of code you have to 
>> actually
>> write for a more representative extension module than QScintilla (eg.
>> QtDataVisualization) is 80 lines. For that you get a configure.py with 
>> a
>> consistent user interface with other PyQt based extension modules, 
>> support
>> for cross-compiling to iOS, Android etc etc.
> 
> Then perhaps people asking about how to build on PyQt 5 should be 
> pointed
> to one of these more representative modules. I remember that when I was
> doing the calibre transition to Qt 5 I also came across the advice to
> look at QScintilla, and rather than trying to adapt that beast, I wrote
> my own minimal build logic that does what calibre needs.

QScintilla is the only open source code that uses it.

>> I might consider moving the boilerplate to a "pyqtbuilder" module 
>> where you
>> would implement a class representing those 80 lines and pass it to a 
>> Builder
>> class imported from the module. However that would mean
>> that, if you were supporting PyQt4 and PyQt5, you would have to handle 
>> which
>> version of pyqtbuilder to import.
> 
> Sounds fine to me. I was just trying to help the OP, since from
> experience, trying to adapt QSintilla's build system is not a task to 
> be
> taken on lightly. Even just having some officially sanctioned method of
> gathering information like runtime paths and compiler flags would be
> helpful. Essentially, something like qmake -query

I suspect that you looked at it before I did the refactor to the 
easy-to-use, fully-documented version.

Phil


More information about the PyQt mailing list