Hi, I'm running the program Pymol (written in python) on Windows Vista, and in trying to run one of its plugins, I em encountering the following error:<br><br>Error: 3<br>WindowsError Exception in Tk callback<br> Function: <function <lambda> at 0x027C6DF0> (type: <type 'function'>)
<br> Args: ()<br>Traceback (innermost last):<br> File "C:\Program Files\DeLanoScientific\PyMOL/modules\Pmw\Pmw_1_2\lib\PmwBase.py", line 1747, in __call__<br> return apply(self.func, args)<br> File "C:\Program Files\DeLanoScientific\PyMOL/modules\Pmw\Pmw_1_2\lib\PmwDialog.py", line 153, in <lambda>
<br> command=lambda self=self, name=name: self._doCommand(name))<br> File "C:\Program Files\DeLanoScientific\PyMOL/modules\Pmw\Pmw_1_2\lib\PmwDialog.py", line 132, in _doCommand<br> return command(name)<br>
File "C:\Program Files\DeLanoScientific\PyMOL/modules\pmg_tk\startup\apbs_tools.py", line 1136, in execute<br> good = self.generatePdb2pqrPqrFile()<br> File "C:\Program Files\DeLanoScientific\PyMOL/modules\pmg_tk\startup\apbs_tools.py", line 1683, in generatePdb2pqrPqrFile
<br> (retval,progout) = run(self.pdb2pqr.getvalue(),args)<br> File "C:\Program Files\DeLanoScientific\PyMOL/modules\pmg_tk\startup\apbs_tools.py", line 362, in run<br> retcode = subprocess.call(args,stdout=output_file.fileno(),stderr=
subprocess.STDOUT)<br> File "C:\Program Files\DeLanoScientific\PyMOL\py24\lib\subprocess.py", line 413, in call<br> return Popen(*args, **kwargs).wait()<br> File "C:\Program Files\DeLanoScientific\PyMOL\py24\lib\subprocess.py", line 543, in __init__
<br> errread, errwrite)<br> File "C:\Program Files\DeLanoScientific\PyMOL\py24\lib\subprocess.py", line 706, in _execute_child<br> startupinfo)<br>WindowsError: [Errno 193] %1 is not a valid Win32 application
<br><br><br>Probably not all of that is relevant, but I thought I'd at least lay it out there in case there's something obvious there. In doing crazy amounts of googling, I *think* the problem is that the python file uses a command called "createprocess()", and, while this may work ok in XP, it does not in Vista (something to do with how the security setup has changed). The software is not guaranteed fully Vista-proof, so it seems like a possible explantion.
<br><br>So I'm hoping, although not very optimistically, that I can tweak this command and regain compatibility with Vista. One site I found suggests using either "ShellExecute()" or "ShellExecuteEx()" in lieu of "createprocess()". Would this be a simple fix- how much would I have to change? Here is the relevant call:
<br><br> hp, ht, pid, tid = CreateProcess(executable, args,<br> # no special security<br> None, None,<br> # must inherit handles to pass std
<br> # handles<br> 1,<br> creationflags,<br> env,<br> cwd,
<br> startupinfo)<br><br>Thanks for any help,<br><br>Kirk<br><br><br><br><br>