Create a directly-executable cross-platform GUI app using Python

Python works on multiple platforms and can be used for desktop and web applications, thus I conclude that there is some way to compile it into an executable for Mac, Windows and Linux.

The problem being I have no idea where to start or how to write a GUI with it, can anybody shed some light on this and point me in the right direction please?


First you will need some GUI library with Python bindings and then (if you want) some program that will convert your python scripts into standalone executables.

Cross-platform GUI libraries with Python bindings (Windows, Linux, Mac)

Of course, there are many, but the most popular that I’ve seen in wild are:

Complete list is at

Single executable (all platforms)

  • PyInstaller – the most active(Could also be used with PyQt)
  • fbs – if you chose Qt above

Single executable (Windows)

  • py2exe – used to be the most popular

Single executable (Linux)

  • Freeze – works the same way like py2exe but targets Linux platform

Single executable (Mac)

  • py2app – again, works like py2exe but targets Mac OS