在像交互式python shell这样的shell中,您通常可以使用箭头键在当前行中移动或获取以前的命令(使用向上箭头键)等。
但是在我通过ssh进入另一台机器并在那里启动python
之后,我得到了如下会话:
>>> import os
>>> ^[[A
其中最后一个字符来自箭头向上。或者,使用左箭头键:
>>> impor^[[D
我该如何解决这个问题呢?
在常规的狂欢中,箭头键工作得很好。这种奇怪的行为只是在交互式python (或perl等)中出现的。壳。
发布于 2009-05-21 14:27:22
看起来readline没有启用。检查是否定义了python变量,对于我来说,它指向/etc/pythonstart
,并且文件在交互之前由PYTHONSTARTUP
进程执行,这将设置readline/历史处理。
感谢@chown,这里是关于这个的文档:http://docs.python.org/2/tutorial/interactive.html
发布于 2014-10-14 16:46:59
我已经通过安装readline
包解决了这个问题:
pip install readline
发布于 2017-01-10 10:50:08
在OS上,我有不同的问题。
当我使用system python shell时,键没有问题,但在virtualenv中有问题。我尝试重新安装/升级virtualenv/readline,但没有修复任何问题。
当我尝试在有问题的python shell中使用import readline
时,得到以下错误消息:
ImportError: dlopen(/Users/raptor/.virtualenvs/bottle/lib/python2.7/lib-dynload/readline.so, 2): Library not loaded: /usr/local/opt/readline/lib/libreadline.6.dylib
Referenced from: /Users/raptor/.virtualenvs/bottle/lib/python2.7/lib-dynload/readline.so
Reason: image not found
因为有/usr/local/opt/readline/lib/libreadline.7.dylib
但没有libreadline.6.dylib
,所以我做了一个符号链接:
ln -s libreadline.7.dylib libreadline.6.dylib
问题已经解决了!
https://stackoverflow.com/questions/893053
复制相似问题