Installing PyQt4 On Mac OSX

PyQt provides a great set of libraries for rendering user interfaces that are truly cross platform. Being able to distribute to both Mac and PC is great for situations where the workforce may have a combination of platforms. Plus being a Python library, you also have the ability to interact directly with various software interfaces, such as Maya, Max or MotionBuilder. So how do you set it up? A straightforward operation, you might imagine. Just run:

pip install pyqt

Well that just won’t plug in any more. PyQt5 is the default install via pip nowadays, so many guides to installing PyQt4 that you’ll find on blogs don’t take that into account. The book that I started following, Rapid GUI Programming With Python And QT does feature instructions on how to install PyQt, and even they are out of date.

After running down many a cul-de-sac, I found one solid way of setting up PyQt4.

N.B. I got this method to work on both Mavericks and El Capitan, so it should be pretty solid.

Install Via Homebrew

If you haven’t already got Homebrew installed, you will need to have the command-line tools set up for XCode. Then you can install Homebrew

xcode-select --install
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Now you can go ahead and install PyQt4. You need to specify an exact path because of the PyQt5 default issue:

brew install cartr/qt4/pyqt

Next, you need to create clean install of Python 2.7 via Homebrew:

brew install python

Setting Up The Environment

PyQt is now installed, but you need to add the references to your Python environment. Brew has its installs in the folder, ‘/usr/local/Cellar’. Link your project to the Python executable in the cellar folder. My path was something like this:

/usr/local/Cellar/python/2.7.13/Frameworks/Python.Framework/Version/2.7/bin/python2.7

Lastly, add the pyqt folder to your Python Path

/usr/local/Cellar/pyqt/

wing_pyqt_project_properties

Testing

You should now be able to get PyQt up and running in your IDE.

import sys
from PyQt4 import QtGui

def window():
   app = QtGui.QApplication(sys.argv)
   w = QtGui.QWidget()
   b = QtGui.QLabel(w)
   b.setText('Hello World!')
   w.setGeometry(100,100,200,50)
   b.move(50,20)
   w.setWindowTitle('PyQt')
   w.show()
   sys.exit(app.exec_())
	
if __name__ == '__main__':
   window()

pyqt_hello_world

Advertisements

6 thoughts on “Installing PyQt4 On Mac OSX

    • There isn’t necessarily an advantage. However, if you are working with software that requires PyQt4, such as Maya 2015, you may have no choice. As a Python UI developer, for the next few years, it may be important to be able to support development in both PyQt4 and PyQt5.

      Like

  1. Hi,
    I tried to install PyQt4 following your tuto but I don’t understand how you obtain the dialog box to add the pyqt folder to the Python Path. Thus when I open python and try to import PyQt4, it doesn’t find it.
    Thanks!

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s