Hey everyone,

I'm in the process of writing a data analysis program with a full GUI. The program is turning out to be quite useful for the spectral analysis we do in our lab, so I'd like to share it with my colleagues. Perhaps if it catches on, I would share it with a more general audience.

My concern is that most people I work with don't use python, and really don't have much programming experience. Therefore, if I told them to download python version 2.6, then get the matplotlib, scipy, numpy, gtk etc... packages, and then open a terminal, and type "python foo.py", all of this would turn them off. They are used to downloading a program, double clicking an icon, and having it install.

I realize that this type of simple installation is perhaps impossible, but I don't know a good alternative. Is it possibly to package all the necessary elements to make it simple for a novice to install and run your programs? Or is it possible to make an object file, for example, so that the user doesn't ever have to install python/python packages at all?

Member Avatar

Of course. You can use py2exe or cx_freeze. I recommend cx_freeze. It is available for Python 2.5-3.2, Windows and Linux and 64 bit. So far I have built exe applications using PyQt4 (also with QML), NumPy (I guess that SciPy is also possible), matplotlib (with PyQt backend), PIL + ReportLab.

Usually this line is sufficient:

C:\Python27\Scripts\cxfreeze main_file.pyw --target-dir=MyProgram --base-name=Win32GUI

But it is not always so easy. Sometimes you have to write a setup.py file or add additional imports to main py file. In case of problems I will try to help.