每次我使用交互式控制台运行python
或python3
时,提示的显示几乎都在第一次或第二次交互后立即不同步:
>>> [1,2,3]
>>> [1, 2, 3]
print('hi')
>>> hi
然后,当我退出python时,此行为会延续到bash
,此外,当您键入内容时,屏幕上没有任何显示,但仍会运行。在下面的示例中,我键入date
,然后键入history | tail -n3
:
$ Thu Oct 8 07:55:47 CEST 2015
$ 488 python
489 date
490 history | tail -n3
但是,输入reset
后,一切恢复正常。
不用说,这种行为很烦人。是什么原因,如何解决?
我在OS X上。使用iTerm或内置Terminal.app都具有相同的行为。我的python版本来自macports
。 /usr/bin/python
(OS X附带的Python 2.7.2)不存在此问题。
============================
编辑:如果我使用zsh
,则python仍然有问题,但是退出python后,在zsh
中一切正常。
$TERM
和xterm-256color
均为bash
。
正如我在zsh
中的回答一样,由于此AskDifferent而写的问题因为在Macports下最近的python构建中存在一个错误,因为它不包括readline(出于许可原因)
@马克有解释。
尝试在shell中使用port selfupdate
# port install python(26|27|34|35) +readline
port install python27 +readline
命令。