【问题标题】:python3 messes up terminalpython3弄乱了终端
【发布时间】:2015-09-09 09:31:22
【问题描述】:

我在 Mac OS X 10.10 中,使用通过 Macports 安装的python3

当我启动交互式python3 shell 时,发生了一些非常奇怪的事情。当启动 python3 并运行 anything(甚至是非语法命令)时,终端会发生一些事情,例如

  1. 按 Enter 时看不到任何换行符
  2. 我写的任何东西在输入时都不显示,但在按 Enter 时仍会执行。

在关闭python3 shell(例如使用Ctrl-D)后,底层bash shell 中仍然存在此问题。让这更“有趣”的是,之后开始常规 python(顺便说一下 2.7 版),问题就自行解决了——终端的行为应有尽有。

有没有人看到这个,有任何建议可能发生了什么,并希望知道解决这个问题的方法?谢谢。

【问题讨论】:

  • 我无法在通过 Homebrew 安装在 Mac OS 10.10.5 上的 Python 3.4.3 中重现该问题。
  • @Jubobs 不,我知道这很难重现——要么有问题,要么没有……希望有人能认出这种行为。

标签: python shell python-3.x


【解决方案1】:

是的,我在 Mac OS X 10.10 上使用 python3.5 也看到了这个问题。

这似乎是 python3 交互式 shell 的一个错误 - 它会禁用终端的 echo,并且不会在您 exit() 时启用它。要修复您的终端,请在 bash 提示符下运行此命令。

stty echo

归功于this post

更新:
此处跟踪此错误:https://trac.macports.org/ticket/48807
永久修复是安装端口 py35-readline。

sudo port install py35-readline

【讨论】:

  • 哪里有漏洞?
【解决方案2】:

要修复您的终端,请在 bash 提示符下运行此命令

stty sane

归功于post

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-04
    • 2020-01-16
    • 1970-01-01
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多