How to install PyQt4 on Windows using pip?

359,820

Solution 1

Here are Windows wheel packages built by Chris Golke - Python Windows Binary packages - PyQt

In the filenames cp27 means C-python version 2.7, cp35 means python 3.5, etc.

Since Qt is a more complicated system with a compiled C++ codebase underlying the python interface it provides you, it can be more complex to build than just a pure python code package, which means it can be hard to install it from source.

Make sure you grab the correct Windows wheel file (python version, 32/64 bit), and then use pip to install it - e.g:

C:\path\where\wheel\is\> pip install PyQt4-4.11.4-cp35-none-win_amd64.whl

Should properly install if you are running an x64 build of Python 3.5.

Solution 2

QT no longer supports PyQt4, but you can install PyQt5 with pip:

pip install PyQt5

Solution 3

You can't use pip. You have to download from the Riverbank website and run the installer for your version of python. If there is no install for your version, you will have to install Python for one of the available installers, or build from source (which is rather involved). Other answers and comments have the links.

Solution 4

If you install PyQt4 on Windows, files wind up here by default:

C:\Python27\Lib\site-packages\PyQt4*.*

but it also leaves a file here:

C:\Python27\Lib\site-packages\sip.pyd

If you copy the both the sip.pyd and PyQt4 folder into your virtualenv things will work fine.

For example:

mkdir c:\code
cd c:\code
virtualenv BACKUP
cd c:\code\BACKUP\scripts
activate

Then with windows explorer copy from C:\Python27\Lib\site-packages the file (sip.pyd) and folder (PyQt4) mentioned above to C:\code\BACKUP\Lib\site-packages\

Then back at CLI:

cd ..                 
(c:\code\BACKUP)
python backup.py

The problem with trying to launch a script which calls PyQt4 from within virtualenv is that the virtualenv does not have PyQt4 installed and it doesn't know how to reference the default installation described above. But follow these steps to copy PyQt4 into your virtualenv and things should work great.

Solution 5

Earlier PyQt .exe installers were available directly from the website download page. Now with the release of PyQt4.12 , installers have been deprecated. You can make the libraries work somehow by compiling them but that would mean going to great lengths of trouble.

Otherwise you can use the previous distributions to solve your purpose. The .exe windows installers can be downloaded from :

https://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.4/

Share:
359,820

Related videos on Youtube

Anna
Author by

Anna

Updated on September 08, 2021

Comments

  • Anna
    Anna over 2 years

    I'm using Python 3.4 on Windows. When I run a script, it complains

    ImportError: No Module named 'PyQt4'
    

    So I tried to install it, but pip install PyQt4 gives

    Could not find any downloads that satisfy the requirement PyQt4

    although it does show up when I run pip search PyQt4. I tried to pip install python-qt, which installed successfully but that didn't solve the problem.

    What am I doing wrong?

    • thecreator232
      thecreator232 about 10 years
      just download it from here :riverbankcomputing.com/software/pyqt/download and run it using python.
    • ekhumoro
      ekhumoro about 10 years
      The python-qt package doesn't install PyQt: it's just a PySide/PyQt compatibility wrapper. You should do as thecreator232 suggests, and install the binary Windows package instead. However, you will need to downgrade to python-3.3 first, because there aren't any installers for python-3.4 yet.
  • ekhumoro
    ekhumoro about 10 years
    The OP is trying to install PyQt on Windows. I would guess that compiling everything from scratch on that platform is not a realistic option for them.
  • shelper
    shelper about 10 years
    gist.github.com/ColinDuquesnoy/9619035 shows how to build the pyqt from source for your version of python 3.4
  • Yassine Abdul-Rahman
    Yassine Abdul-Rahman over 9 years
    is there is pip under linux or easy install ?
  • Ivo
    Ivo about 9 years
    For linux, it is best to install the development packages for Qt and PyQt from your package manager.
  • Deepend
    Deepend almost 9 years
    Hi good answer, I tried to fix up some of the formatting on the answer so that its the same as the standard used on this site. please take a moment to make sure its ok
  • three_pineapples
    three_pineapples almost 9 years
    While this is a reasonable answer, I don't think it answers the original question. The original question is asking how to install PyQt4, not how to install it inside a virtual environment.
  • Dan
    Dan almost 9 years
    Thanks for the edits. When I tried to search 'how to install pyqt4 virtualenv windows', I couldn't find anything and found myself reading this post. While I agree it doesn't answer the specific question asked, I figured it was the most logical place to answer the question for the answer for this question since I couldn't find any information and found myself here anyways. Cheers.
  • Naz
    Naz about 7 years
    why is all the 64bit stuff amd based? It tells me that 64 bit amd version is not a supported wheel on "this platform"
  • rappatic
    rappatic almost 7 years
    Should I type this in CMD? It says pip is not recognized as a command
  • matt wilkie
    matt wilkie over 6 years
    FWIW, with python 3.6 installing pyqt5 via pip install pyqt5 just works.
  • user136036
    user136036 about 6 years
    The 64bit stuff is AMD-based, because Intel as well as AMD created their own (incompatible) 64bit architectures/instruction sets back then (1990s to early 2000s). Intel developed "IA-64" and AMD developed "AMD64". To make it short: AMD's version was better and Intel adopted it, now calling it Intel64 for their CPUs - both are pretty much compatible (very minor differences). So pretty much every 64bit x86-64 CPU out there (except Itaniums) uses AMD64.
  • Claudio Cortese
    Claudio Cortese about 6 years
    OP is asking specifically about PyQt4, why should he install PyQt5 instead?
  • KEYAN TECH
    KEYAN TECH about 6 years
    check pierce's answer
  • Claudio Cortese
    Claudio Cortese about 6 years
    My bad, I hadn't this information during the review queue process.
  • Nader Ghanbari
    Nader Ghanbari about 6 years
    You can always share your knowledge/opinion in comments. In this case there are similar answers with a clearer explanation. Sharing is good but if we all share the same piece of information it's gonna be useless for people.
  • Igor F.
    Igor F. about 6 years
    Sorry, still not working: "Could not find a version that satisfies the requirement PyQt5 (from versions: )"
  • kien bui
    kien bui about 6 years
    you try add option --trusted-host pypi.python.org
  • Daniel González Cortés
    Daniel González Cortés almost 6 years
    I got this error message: PyQt4‑4.11.4‑cp36‑cp36m‑win_amd64.whl is not a valid wheel filename.
  • Jay Joshi
    Jay Joshi almost 6 years
    You have to execute pip command in the same directory in which "PyQt4‑4.11.4‑cp36‑cp36m‑win_amd64.whl" was downloaded. (the given filename is just an example, you can choose any from the list given in the link given in post)
  • MarianD
    MarianD almost 6 years
    @shelper, your link is now dead.
  • miguelmorin
    miguelmorin over 5 years
    This worked for me. It's nice to know that PyQt5 plays nice with pip.
  • Tom
    Tom over 5 years
    When I try this using python 2.7.x - I get "it is not compatible with this Python" messages. ran "pip -v --trusted-host pypi.python.org install PyQt5"
  • oldmud0
    oldmud0 almost 5 years
    Qt never supported PyQt4 to begin with - it was Riverbank Computing.
  • Arash
    Arash over 4 years
    @JayJoshi i got the above error too.i am executing pip command in same directory
  • Jay Joshi
    Jay Joshi over 4 years
    @Arash, Please download the appropriate version from the link provided and install it accordingly. Note: the filename can be changed depending on which version of PyQt4 have you downloaded.
  • Arash
    Arash over 4 years
    @JayJoshi it solved.the problem was that my chosen package was not compatible with python version.for other references cp36 in packages file name means python3.6
  • SW_user2953243
    SW_user2953243 over 4 years
    @mattwilkie that should be pip install PyQt5 (case-sensitive)