Search code examples
pythonpython-sip

How to install SIP & PyQT on windows 7


I'm a newbie to Python environment & really struggling to install SIP & PyQt on my Win 7 machine.

This is what I've done so far,

  1. I've downloaded SIP-4.16.9 and extracted files from the zip folder
  2. The extracted folder is then copied to C:\Python34\Lib
  3. Launched a command prompt(cmd) and changed path to C:\Python34\Lib
  4. Then when I entered python configure.py at C:\Python34\Lib and I get the response as below

enter image description here

  1. At this stage I'm not sure whether it's been installed successfully, to verify I looked for SIP.h at C:\Python34\Include(according to above response - in red), but I cant find any such header file, so I assume the installation hasn't been successful.

Could any one help me, what am I missing here?

Additional System Info:

  • Windows 7 64 Bit
  • Python 3.4
  • Environment Variable (Path : C:\Python34;C:\Python34\Lib;C:\Python34\Lib\site-packages)

Note: There are several questions posted before, but none of them helped so far, I'm sure I must be missing something silly.

Thanks for your time.


Solution

  • For next users who need to build sip (or pyqt) in windows using sources

    ALL these instructions are for 32-bits, it will work even if you have a 64-bit system.

    For Qt 5.9.x :

    Since Qt 5.9, there is only one version of Qt downloadable for Windows that includes the pre-built components for MSVC201x and MinGW.

    The instructions follow the same steps as for Qt 5.8

    Since Microsoft Visual Studio 2015 Community Edition is not available to download anymore, next users should use Microsoft Visual Studio 2017 Community Edition with Qt 5.9 and follow the same instructions below.

    1. Microsoft Visual Studio 2017 Community Edition (32-bits)

    2. Qt 5.9.x

    When Installing Qt, make sure to select the correct pre-built components you have (for e.g Microsoft Visual Studio 2017)

    enter image description here

    For Qt 5.8 and earlier :

    Downloads

    1. Download Python 3.6.x (32-bits) any version will do it :

    (if you also have python 2.7, make sure to use verions 3 of python)

    1. Download sources for sip and PyQt5: Under "Source Packages", download the "Windows Source"

    2. Microsoft Visual Studio 2015 Community Edition (32-bits)

    3. Qt 5.8.0 for Windows 32-bit (VS 2015, 1.0 GB)

    Qt download link must match the Visual Studio (VS) version installed (here VS 2015) and the PyQt5 version you need to install

    For example:

    • PyQt5.8.2
    • Qt5.8.0 (Link for VS 2015)
    • Microsoft Visual Studio 2015

    Compilation

    Open a terminal and stay on it.

    It is important you stay on the same terminal (cmd.exe) during the whole process so you don't have to source your environment twice.

    Let's create an environment to compile PyQt and SIP (in order to compile PyQt, you need first to compile sip)

    • Create a folder "compilation" in your Desktop for example:
    • Extract the content of your sip archive in this forlder
    • Extract the content of your PyQt5 archive in this forlder

    You should have now :

    .
    ├── compilation
    |   ├── sip-4.19.2/
    |   └── PyQt5_gpl-5.8.2/
    

    Make sure you are using Python 3.x:

    enter image description here

    1 - SIP

    Go to sip-4.19.2 folder and run :

    python configure.py

    enter image description here

    At this step, you did not install sip, you only configured it (basically its installation dir, etc...)

    VERY IMPORTANT STEP: source your environment variables by running in the terminal :

    Keep the double quotes, windows does not like spaces ...

    enter image description here

    "C:\Qt\Qt5.8.0\5.8\msvc2015\bin\qtenv2.bat"
    

    After running this command, it automatically change your current directory, stay on the terminal and re-go to your sip-4.19.2 directory and run:

    "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
    

    In windows, "make" is substituted by "nmake" !

    Then (always in the same terminal) you run :

    nmake
    

    enter image description here

    [...]

    enter image description here

    nmake install
    

    enter image description here

    This will create a sip.exe in your Python dir, for me it is C:\Python36, it may elsewhere, depending on where you installed Python.

    2 - PyQt5

    The steps are almost the same as sip but it will take more time.

    Go to PyQt5_gpl-5.8.2 folder and run :

    python configure.py --disable QtNfc --confirm-license

    Note that this command disable QtNfs because of a compilation problem I could not resolve.. and automatically accepts the license.

    Then, run (the compilation will take a while) :

    nmake
    nmake install
    

    Hope this helps.