As promised, here's the solution I came up with for launching an external python script. The function below has been edited (read simplified slightly) from the original one used in Crunchy. Note that while the original has been tested, the following has not- but it should provide a good start *if* problems are found with it.
André ==================== def exec_external(path): """execute code saved in file found in 'path' in an external process currently works under: * Windows NT (tested) * GNOME * OS X This also needs to be tested for KDE and implemented some form of linux fallback (xterm?) """ if os.name == 'nt': current_dir = os.getcwd() target_dir, fname = os.path.split(path) os.chdir(target_dir) # change dir so as to deal with paths that # include spaces if console: Popen(["cmd.exe", ('/c start python %s'%fname)]) else: Popen(["cmd.exe", ('/c python %s'%fname)]) os.chdir(current_dir) elif sys.platform == 'darwin': pth, fn = os.path.split(path) activate = 'tell application "Terminal" to activate' script = r"cd '\''/Users/andre/CrunchySVN/branches/ andre'\'';python '\''test.py'\'';exit" do_script = r'tell application "Terminal" to do script "%s"'%script command = "osascript -e '%s';osascript -e '%s'"%(activate, do_script) os.popen(command) elif os.name == 'posix': try: os.spawnlp(os.P_NOWAIT, 'gnome-terminal', 'gnome- terminal', '-x', 'python', '%s'%path) except: try: # untested os.spawnlp(os.P_NOWAIT, 'konsole', 'konsole', '-x', 'python', '%s'%path) except: raise NotImplementedError else: raise NotImplementedError -- http://mail.python.org/mailman/listinfo/python-list