From: Pawel Kedzierski (
Date: Mon Jul 11 2016 - 15:35:40 CDT

Dear all,
I have a Python script which calls 'vmd -startup none -nt -dispdev none
-eofexit' with the support of the Popen.communicate() from the
subprocess module.
I feed a few commands to VMD (load a pdb file and make some
atomselect's) to get list of atoms belonging to some selections.
This is the recommended way in Python of communication with external
programs, and Popen.communicate() run separate threads for writing to
the process stdin and to poll stdout in order to avoid deadlocks.
Nevertheless, on Windows it does deadlock (tested on Windows 10 x64 with
python 2.7, both native and from Cygwin).
On Linux the script works.
I do not use Windows daily and this was rather for my colleague who is
not a Linux native, but still I wonder if this is a Python bug, or maybe
VMD does something unusual with stdin/stdout and there is a workaround.
Any suggestions or comments are welcome.