[BioPython] blastall produces a black console screen with biopython 1.49 and up‏

Peter biopython at maubp.freeserve.co.uk
Fri Apr 17 15:38:20 UTC 2009


On Fri, Apr 17, 2009 at 4:24 PM, Joaquin Abian Monux
<gatoygata at hotmail.com> wrote:
> Dear Peter,
>
> Thanks, I fixed it. I'm not sure how.
>
> In:
>
> blast_process = subprocess.Popen(cmd_string,
>                                  stdout=subprocess.PIPE,
>                                  stderr=subprocess.PIPE,
>                                  stdin=subprocess.PIPE,
>                                  shell= (sys.platform!="win32"))
>
> (sys.platform!="win32") is False for my winXP computer. But if I set the
> parameter shell=True, then the problem disappears, either in the py2exe
> executables and in the scripts. Everything works perfect as usual.
>
> if shell=True in windows the shell used is the one set in COMSPEC. In my
> case it is the normal windows shell (cmd.exe). If shell=False I am not sure
> what happens in windows. Obviously no cmd shell should be expected...still,
> blast.exe opens his.
> ...
> Done! (Although it would be nice someone could explain why the 'shell'
> parameter must be 'True' for the program to behave properly)...

>From memory, with subprocess using the shell argument in this way was
deliberate on to get things to work cross platform.  I looks like when
running from the command line you need the *opposite* shell setting to
running from py2exe.

Could you put together a trivial python GUI application that calls
BLAST that we could use for testing?

Peter




More information about the Biopython mailing list