Python 3.6 解释器拒绝输入空格,除非我持有选项

Python 3.6 interpreter refuses to input spaces unless I'm holding option

终端没有输入 space,就好像我输入了一个无效字符(闪烁并发出声音效果)。但是,如果我在按下 space 的同时按住选项,它会像正常情况一样工作(结果是一个不间断的 space)。在解释器外一切正常,但在解释器内只有 spaces 拒绝输入。

macOS High Sierra 上的 Python 3.6.3 会出现这种情况。我无法确定它是什么时候开始发生的,因为我已经很长时间没有碰过 Python,但是在更新到 High Sierra 并回到 Python 之后,我注意到了这个问题。我试过删除所有 PIP 包,重新安装 Python 2 和 3 无济于事。

这是视频: https://streamable.com/psy7p

好吧,在尝试设置 postgres 服务器并在交互式命令模式下遇到同样的问题后,我终于偶然发现了答案。

很久以前,我创建了一个 .inputrc 文件来使用 Magic Space 功能,该功能将 space 键覆盖到一个 magic-space,只有 bash 识别但主要功能与正常 space 相同。我完全忘记了这一点。我最终将其包装在一个条件中,最终解决了 space 问题。我仍然想知道为什么 Python 2.xx 版本工作正常。

这个回答很有帮助:

https://unix.stackexchange.com/questions/315137/i-cannot-type-space-in-interactive-command-mode