ipython 0.11 buffers external command output till the cmd is done #978

Closed
rxwen opened this Issue Nov 8, 2011 · 3 comments

Projects

None yet

3 participants

@rxwen
rxwen commented Nov 8, 2011

I run some command within ipython on a windows xp host. These commands take some time to finish.
The output of these command weren't shown until all commands finished running. The behavior is totally different from previous version, which output are printed immediately.

For instance, input "!netstat -p tcp -b -o -a -n 1" command which runs infinitely, the output will never be seen.

@rxwen
rxwen commented Nov 8, 2011

When I did similar thing on a ubuntu host, everything worked fine. E.g., run "!top" command, the output can be seen immediately and refreshed fine.

@minrk
Member
minrk commented Nov 8, 2011

Yes, this is Windows specific.

Do:

ip = get_ipython()
ip.system = ip.system_raw

To switch back to using os.system for ! escapes. I think this will go back to being the default behavior in 0.12, because nobody seems to be able to remember why we kept it that way on Windows.

@minrk minrk added a commit to minrk/ipython that referenced this issue Nov 9, 2011
@minrk minrk use system_raw in terminal, even on Windows
`system_raw` uses `os.system` instead of `utils.process.system`, and makes
more sense in a Terminal session.

There was discussion that it should be otherwise on Windows, but I can't
find any actual evidence for why this would be the case, and there are very
clear disadvantages to not using `os.system` (see #978 and #181).

closes gh-978
a7b4809
@fperez
Member
fperez commented Nov 11, 2011

@minrk, I'm closing this one since the PR for it went in. @rxwen, please reopen if you still see a problem.

@fperez fperez closed this Nov 11, 2011
@mattvonrocketstein mattvonrocketstein pushed a commit to mattvonrocketstein/ipython that referenced this issue Nov 3, 2014
@minrk minrk use system_raw in terminal, even on Windows
`system_raw` uses `os.system` instead of `utils.process.system`, and makes
more sense in a Terminal session.

There was discussion that it should be otherwise on Windows, but I can't
find any actual evidence for why this would be the case, and there are very
clear disadvantages to not using `os.system` (see #978 and #181).

closes gh-978
f8d8e69
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment