3

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

Then 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.

Sam
  • 135
  • 1
  • 11

1 Answers1

2

It was a bug with the stable version. The authors suggested downloading the latest snapshot which worked. Another solution would be:

"to create an empty __ init__.py file in the same directory containing sip.pyd."

After that I configured with:

python configure.py --qmake d:\qt5_32\bin\qmake.exe --static --sip-incdir ..\sip-4.19.13.dev1809111822\siplib --sip d:\opencv\sip-4.19.13.dev1809111822\sipgen\sip.exe --confirm-license
Sam
  • 135
  • 1
  • 11
  • 2
    I confirm that creating an empty `__init__.py` file worked for me. I have also created a gist that go through the all process (https://gist.github.com/rllola/da97b890a79d206f00a909bc2a56598d). I hope this might help. – rllola Nov 28 '18 at 11:05