[PyQt] PyQt5.sip Not Generated

Phil Thompson phil at riverbankcomputing.com
Mon Sep 17 09:27:53 BST 2018


On 17 Sep 2018, at 3:20 am, FiFo <fifothekid at gmail.com> wrote:
> 
> Hi all,
> 
> I'm building SIP 4.19.12 and PyQt 5.11.2 on Windows 10 with Visual Studio 2017. I'm planning to do that for Python x86 2.7.15.
> I downloaded the versions above and extracted them, installed enum34 with pip, the configured SIP with
> python configure.py --sip-module PyQt5.sip --no-tools
> This is SIP 4.19.12 for Python 2.7.15 on win32.
> The PyQt5.sip module will be installed in
> C:\Users\FiFo\AppData\Local\Programs\Python\Python27\Lib\site-packages\PyQt5.
> The sip.pyi stub file will be installed in
> C:\Users\FiFo\AppData\Local\Programs\Python\Python27\Lib\site-packages\PyQt5.
> The default directory to install .sip files in is
> C:\Users\FiFo\AppData\Local\Programs\Python\Python27\sip.
> Creating sipconfig.py...
> Creating top level Makefile...
> Creating sip code generator Makefile...
> Creating sip module Makefile...
> 
> Setup the x86 building environment with
> "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
> 
> Followed by nmake:
> Microsoft (R) Program Maintenance Utility Version 14.15.26729.0
> Copyright (C) Microsoft Corporation.  All rights reserved.
> 
>         cd siplib
>         "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\bin\HostX86\x86\nmake.exe"
> 
> Microsoft (R) Program Maintenance Utility Version 14.15.26729.0
> Copyright (C) Microsoft Corporation.  All rights reserved.
> 
>         cl -c -nologo -Zm200 -Zc:wchar_t- -O2 -MD -W3 -DNDEBUG -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DSIP_MODULE_NAME=\"PyQt5.sip\" -I. -IC:\Users\FiFo\AppData\Local\Programs\Python\Python27\include -Fo @C:\Users\FiFo\AppData\Local\Temp\nm8C0F.tmp
> siplib.c
> apiversions.c
> descriptors.c
> qtlib.c
> threads.c
> objmap.c
> voidptr.c
> array.c
> int_convertors.c
> Generating Code...
>         cl -c -nologo -Zm200 -Zc:wchar_t- -O2 -MD -W3 -w34100 -w34189 -DNDEBUG -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DSIP_MODULE_NAME=\"PyQt5.sip\" -I. -IC:\Users\FiFo\AppData\Local\Programs\Python\Python27\include -Fo @C:\Users\FiFo\AppData\Local\Temp\nm9111.tmp
> bool.cpp
>         link /NOLOGO /DYNAMICBASE /NXCOMPAT /DLL /MANIFEST /MANIFESTFILE:sip.pyd.manifest /SUBSYSTEM:CONSOLE /INCREMENTAL:NO /OUT:sip.pyd @C:\Users\FiFo\AppData\Local\Temp\nm9170.tmp
>    Creating library sip.lib and object sip.exp
>         mt -nologo -manifest sip.pyd.manifest -outputresource:sip.pyd;2
> 
> The installed the packages with nmake install:
> Microsoft (R) Program Maintenance Utility Version 14.15.26729.0
> Copyright (C) Microsoft Corporation.  All rights reserved.
> 
>         cd siplib
>         "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\bin\HostX86\x86\nmake.exe" install
> 
> Microsoft (R) Program Maintenance Utility Version 14.15.26729.0
> Copyright (C) Microsoft Corporation.  All rights reserved.
> 
>         copy /y sip.pyd C:\Users\FiFo\AppData\Local\Programs\Python\Python27\Lib\site-packages\PyQt5\sip.pyd
>         1 file(s) copied.
>         copy /y D:\opencv\sip-4.19.12\sip.pyi C:\Users\FiFo\AppData\Local\Programs\Python\Python27\Lib\site-packages\PyQt5\sip.pyi
>         1 file(s) copied.
>         C:\Users\FiFo\AppData\Local\Programs\Python\Python27\python.exe D:\opencv\sip-4.19.12\mk_distinfo.py "" C:\Users\FiFo\AppData\Local\Programs\Python\Python27\Lib\site-packages\PyQt5_sip-4.19.12.dist-info installed.txt
> 
> D:\opencv\sip-4.19.12\sipgen>pip freeze
> backports.functools-lru-cache==1.5
> cycler==0.10.0
> enum34==1.1.6
> kiwisolver==1.0.1
> matplotlib==2.2.3
> numpy==1.15.1
> Pillow==5.2.0
> pynaoqi==2.1.4.13
> pyparsing==2.2.0
> PyQt5-sip==4.19.12
> python-dateutil==2.7.3
> pytz==2018.5
> six==1.11.0
> 
> But I cannot find that PyQt5.sip file anywhere. Building PyQt gives:
> D:\opencv\PyQt5_gpl-5.11.2>python configure.py
> Querying qmake about your Qt installation...
> Error: Unable to import PyQt5.sip. Make sure you have configured SIP to create
> a private copy of the sip module.
> 
> 
> Any suggestions would be welcome

The file is sip.pyd and the output above shows where it has been copied to.

There is a bug (fixed in the current PyQt5 snapshot) that happens if you are building PyQt5 for the very first time. The workaround is to create an empty __init__.py file in the same directory containing sip.pyd.

Phil


More information about the PyQt mailing list