c.l.p- I am undertaking writing an installer for a software package using Python. It is exclusively for Linux. Because this is an installer and has to run on numerous Linux distros, it is presenting some unique challenges.
First off, I have begun this project by writing a text mode only interface. I would like to provide a GUI as an alternative, but I ran into problems in my early tests. Thinking that Tkinter would be the most universal GUI framework on Linux in Python, I wrote some test screens. Well, after trying the code on several distros (Mandriva, Ubuntu, Fedora, SUSE, etc), I discovered that Tkinter is not as universal as I had thought. On about 50% of the distros, it is not installed with the system copy of Python. So much for the "standard" library! :-) So, this leaves me with the problem that I don't know what else might work. I am assuming that PyQt and PyGTK are both not preinstalled on all Linux distros. I could ship and install a package of my own if it were very small and an "easy" installation. I can't use package managers because I need to work on systems that use apt, rpm, portage, etc. Does anyone have any suggestions? My next issue is a usability issue, that really isn't strictly a Python issue, but since the members of c.l.p are some of the most intelligent and knowledgable people around, I thought I'd give it a try. My installer is part of a tarball that is subsequently wrapped up into a self extracting archive (SFX) using 'makeself'. This all works great. The user can download the SFX (which is in the form of a .run file) in a _terminal_ and the package will self extract and then run my installer. The problem is that I would like the user to be able to download the file to their desktop or whereever, and then simply doubleclick on it to make the installer execute. When I do this now, the installer refuses to run, I guess because it has no terminal to output to. So, the question is, from a Python program, can I detect that I am not running in a terminal/console and somehow get one going? (I tried playing with things like 'xterm' to force the install into a console, but, of course, xterm is missing on some distros too). Thanks, Don -- http://mail.python.org/mailman/listinfo/python-list