Every time that I run python
or python3
with an interactive console, the display of the prompt gets out of sync almost immediately after the first or second interaction:
>>> [1,2,3]
>>> [1, 2, 3]
print('hi')
>>> hi
Then, when I exit out of python, this behavior carries over to bash
, with the addition that when you type, nothing appears on the screen, but it will still run. In the following example, I typed date
and then history | tail -n3
:
$ Thu Oct 8 07:55:47 CEST 2015
$ 488 python
489 date
490 history | tail -n3
However, after typing reset
, everything goes back to normal.
Needless to say, this behavior is very annoying. What is the cause, and how can I fix it?
I am on OS X. Using iTerm or built-in Terminal.app both give the same behavior. My python builds are from macports
. This problem is not present with /usr/bin/python
(python 2.7.2, included with OS X).
============================
Edit: If I use zsh
, then python still has problems, but everything works fine in zsh
after I exit out of python.
$TERM
is xterm-256color
in both bash
and zsh
.
@Mark has the explanation.
As for the fix:
port selfupdate
# port install python(26|27|34|35) +readline
port install python27 +readline
Try the stty sane
command in shell.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With