The problem is that, because the Cygwin (MinTTY) terminal behaves, the built-in Windows build in Python does not understand that stdout is a terminal device - it thinks it is a channel, an interactive mode instead of an interactive mode, and it is completely buffers its output instead of line buffering.
The reason this is new is probably because in your previous installation of Cygwin you did not have MinTTY, and the terminal used was a standard Windows terminal.
To fix this, you need to either start Python from a regular Windows terminal ( Cmd.exe ), or install a version of Cygwin Python instead of the native Windows build in Python. The version of Cygwin (installed as a package through Cygwin setup.exe ) understands the Cygwin terminals and acts properly when launched through MinTTY.
If the specific version of Python you want is not available as a Cygwin package, you can also download the Python source code and create it yourself under Cygwin. You will need a Cygwin compiler compiler if you do not already have one (GCC), but I believe that it should compile with the standard command ./configure && make && make install .
Adam Rosenfield Nov 27 '12 at 16:45 2012-11-27 16:45
source share