【问题标题】:Interactive Python Terminal Not Printing Correctly交互式 Python 终端无法正确打印
【发布时间】:2017-01-31 18:55:39
【问题描述】:

我的交互式 python 遇到了一个奇怪的错误,我希望能得到一些帮助。

首先,我的 python 是从/opt/local/bin/python 运行的,这非常好。

但是,当我从命令行运行 python 时,发生了一些奇怪的事情。这是一个例子:

Python 2.7.13 (default, Dec 18 2016, 05:35:35) 
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 2
>>> 2

注意,在输入 2 后,我只按了一次回车。但是,它没有正常打印出来。我不确定为什么会这样。输入一次后,我可以执行以下操作:

print('this is also weird')
>>> this is also weird

这就是输出的显示方式。

然而,最糟糕的是,当我尝试使用exit() 从交互式终端退出时。这是发生的事情的一个例子。

>>> bshprmpt$ -bash: f: command not found
bshprmpt$ bshprmpt$ bshprmpt$ bshprmpt$ bshprmpt$ 

请注意,我所做的只是在每一行之后按回车键。我输入 f 只是为了看看是否会发生其他事情。我想退出交互式 python 并让它跳回:

bshprmpt$ 
bshprmpt$ 
bshprmpt$ 
bshprmpt$ 
bshprmpt$ 
bshprmpt$ 

如果我按 Enter 很多次。任何人都可以帮忙吗?这是一个相对奇怪的错误,我环顾四周,但找不到很多支持信息。

非常感谢!

编辑:我应该花更多时间四处搜索。再次感谢您的解决方案。 Here 是超级用户的另一个链接。解决方案实际上来自我在学校的一位教授。这并不奇怪。

【问题讨论】:

  • 在新的终端窗口中运行上述示例时是否也会发生这种情况?
  • 您是否尝试将其关闭并重新打开?开玩笑(有点),但您可以尝试运行重置命令。 macports 也存在这个已知问题。 superuser.com/questions/983755/…
  • 当一个程序使用例如curses 或其他直接终端操作调用在未清理终端上设置的任何非标准模式的情况下终止。通常stty sane 会清除大部分内容...
  • @mkrieger1 是的,不幸的是,它也确实发生在新的终端中。我试图重置它。我应该对此表示抱歉。
  • @twalberg 很有趣。是的 stty sane 作为临时修复,但不是无限期的。

标签: python terminal output exit


【解决方案1】:

记录了herehere 的MacPorts 存在一个已知问题。

看来修复是使用“+readline”选项安装python。

sudo port selfupdate
sudo port clean python27
sudo port install python27 +readline

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-06
    • 1970-01-01
    • 1970-01-01
    • 2019-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多