Distribution of applications for the Python GUI: written in wxPython, TKinter, or QT

My question is about the ease of distribution of a GUI application on platforms (Mac / Linux / Windows), and I want to know one that facilitates the user’s work.

My real understanding is that the Tkinter application is the easiest for users (to install), because while the user has installed Python in his field, my application should be ready to run in this field.

For a GUI application written in wxPython or pyQT, the user must first install wxWidget or QT, which is an additional step, and then install my graphical application. (But my Ubuntu window apparently has wxWidget libraries and QT libraries installed by default, is the norm or just the Ubuntu distribution more user friendly? I assume that Windows and Mac probably don't provide their defualt, then there are users to download and install them as an additional step)

+8
source share
3 answers

If you are running Ubuntu, PyQt will be installed by default. On most Linux distributions, one of PyGtk or PyQt is installed by default. WxPython was most likely installed in your Ubuntu box as a dependency for some other package on your system.

If the target market is Linux, you can simply create a deb or rpm package and it will take care of the dependencies of your application.

For Windows and Mac (and even Linux, if you are so inclined) you can associate the python interpreter with your application and its libraries in its own executable format, such as .exe, .dmg or .elf, using libraries such as cx_freeze , py2exe and py2app ; Once this is done, your user will not need to install python or any of your libraries.

+8
source

Tkinter is the only one included in Python. WxPython and pyQT must have both the wxWindows and QT libraries installed, as well as the wxPython or pyQT libraries that will be installed on the system.

However, Tk does not look very pretty. If you already installed that the user installs Python, you can also install libraries. (Or maybe an installer or something else.)

+4
source

If the application is cross-platform, I would suggest WxWidgets ( wxpython ). I have used it several times and it has never been a problem.

However, you must create different installers for Windows, Mac, and Linux. On Linux, use .deb or .rpm to take care of dependencies.

On Windows, I always used py2exe to create an exe . py2exe works by attaching the python interpreter and the necessary libraries, in this case WxWidgets .

Check out this link for more information: http://www.py2exe.org/

+2
source

All Articles