在 os-x 终端中运行 python repl (2.7.10) 并退出后,终端不再回显键入的输入,并且还会发生一些其他奇怪的事情。如果我python
再次运行exit()
,则终端似乎已恢复。我现在只需关闭选项卡并打开一个新选项卡,因此我还没有对此进行广泛的测试。
我猜这与终端设置有关,但这是最近发生的事情,我没有改变我记得的任何东西。macports
如果与某些控制台库的依赖关系不匹配有关,则 Python 会随安装一起安装。2.7.10 是在不久前安装的,安装后没有发生这种情况。
关节裂开并打开terminal
[~]: virtualenv-2.7 venv-test
[~]: source venv-test/bin/activate
[~]: python
>>> ^D>>> *(press ctrl-d, the 2nd >>> is strange)
[~]: *(type something like `ls-l`, nothing shows on console)
[~]: -bash: ls-l: command not found`
此外,再次运行 python 并得到ctrl-d
以下输出结果:
>>> ^D (ctrl-d, then hit enter, doesn't exit)
>>> ^D (...)
>>> ^D (...)
>>> exit() (typing exit() quits the session)
>>> [~]:
答案1
MacPorts 中存在与此问题相关的一个未解决的错误:
https://trac.macports.org/ticket/48807
它说使用“+ readline”选项安装 python 可以解决问题,我自己也验证了这一点。
sudo port uninstall python27
sudo port install python27 +readline
答案2
答案3
这对我有用(使用 OSX 和 pyenv):
CFLAGS="-I$(brew --prefix readline)/include -I$(brew --prefix openssl)/include -I$(xcrun --show-sdk-path)/usr/include" \
LDFLAGS="-L$(brew --prefix readline)/lib -L$(brew --prefix openssl)/lib" \
PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 \
pyenv install -v 2.7.11
来源:https://medium.com/@pimterry/setting-up-pyenv-on-os-x-with-homebrew-56c7541fd331#.urbdkrc9l