You need not build SIP from source. There are wheel files here https://pypi.python.org/pypi/SIP
In my case, on macos, I had to download the wheel and rename it to trick pip into installing it:
$ curl -L -O 'https://pypi.python.org/packages/f9/8c/23d88c8e4d457031111b70ec25bf97844776ec16cfd4688f318dcaeba5d6/sip-4.19.2-cp35-cp35m-macosx_10_6_intel.whl#md5=eb42e9975cae2b936ecc980b9a3266ed'
$ mv sip-4.19.2-cp35-cp35m-*.whl sip-4.19.2-cp35-none-macosx_10_11_x86_64.whl
$ pip install sip-4.19.2-cp35-none-macosx_10_11_x86_64.whl
Pip is rather stupid. The filename has to match something that pip knows for your platform.
Then, I was able to install using python configure-ng.py
(after upgrading qt on my mac from 5.5 to 5.8 using brew upgrade qt
, due to a bug https://forum.qt.io/topic/71119/project-error-xcode-not-set-up-properly/7
Then I got a nice error:
$ python configure-ng.py --verbose
Querying qmake about your Qt installation...
Determining the details of your Qt installation...
/usr/local/Cellar/qt5/5.8.0_2/bin/qmake -o qtdetail.mk qtdetail.pro
Info: creating stash file /Users/jrwren/Downloads/PyQt4_gpl_mac-4.12/.qmake.stash
make -f qtdetail.mk
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.9 -O2 -std=gnu++11 -Wall -W -fPIC -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I/usr/local/Cellar/qt/5.8.0_2/lib/QtCore.framework/Headers -I. -I/usr/local/Cellar/qt/5.8.0_2/mkspecs/macx-clang -F/usr/local/Cellar/qt/5.8.0_2/lib -o qtdetail.o qtdetail.cpp
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -headerpad_max_install_names -stdlib=libc++ -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.9 -o qtdetail.app/Contents/MacOS/qtdetail qtdetail.o -F/usr/local/Cellar/qt/5.8.0_2/lib -framework QtCore -framework DiskArbitration -framework IOKit
qtdetail.app/Contents/MacOS/qtdetail
This is the GPL version of PyQt 4.12 (licensed under the GNU General Public
License) for Python 3.5.1 on darwin.
Error: This version of PyQt4 and the commercial version of Qt have incompatible
licenses.
But it wasn't a SIP error.