"[EMAIL PROTECTED]" wrote: > I've got a trouble, and i think that anybody there can help me > > I've got a python script which i distribute in somes packages for *nix. > This script is full of python and need python 2.4 ! And i'd like to > display a message when the user doesn't have a python2.4 version.
> I'd like to make my script (or a starter script) > which will be able to detect all python versions of the machine. And > run my script with the good one ; py2.4, or display a message to the > user to say her it must install py2.4 ... the approach used in bzr might work for you: # # application boot script import os, sys try: version_info = sys.version_info except AttributeError: version_info = 1, 5 # 1.5 or older REINVOKE = "__MYAPP_REINVOKE" NEED_VERS = (2, 4) KNOWN_PYTHONS = ('python2.4',) if version_info < NEED_VERS: if not os.environ.has_key(REINVOKE): # mutating os.environ doesn't work in old Pythons os.putenv(REINVOKE, "1") for python in KNOWN_PYTHONS: try: os.execvp(python, [python] + sys.argv) except OSError: pass print >>sys.stderr, "error: cannot find a suitable python interpreter" print >>sys.stderr, " (need %d.%d or later)" % NEED_VERS sys.exit(1) if hasattr(os, "unsetenv"): os.unsetenv(REINVOKE) # # get things going! import myapp myapp.run() # end of boot script (the actual bzr source is shipped under the GPL, but 1) it's trivial, and 2) I contributed the code in the first place, so I'd say it's safe to "steal this code" ;-) </F> -- http://mail.python.org/mailman/listinfo/python-list