我在Ubuntu Linux 11.04(natty)机器上的virtualenv中使用python 2.6。我在我的(django)python代码中有这段代码:
import pdb ; pdb.set_trace()
为了启动python调试器(pdb)。
直到今天,这都很好。但是现在当pdb启动时,它适用于调试,运行和断点等,但是当我按向上箭头显示上一个命令时,它会打印^[[A
而不是上升。当我输入内容并按 Home 时,它会打印^[OH
而不是移动光标。
我可以用完/ home / etc。很好的bash终端启动我的python django unittests(有pdb调用)。
发生了什么事?我该如何修复我的pdb?我的readline有什么问题?
答案 0 :(得分:17)
从某种原因看,你错过了readline包。
只需键入pip install readline
即可安装它,它应该按预期运行。如果你不在venv中,请记得以超级用户身份键入。
答案 1 :(得分:1)
见Python interactive mode history and arrow keys。就我而言,Amadan的答案奏效了;我已经有了readline模块。
答案 2 :(得分:1)
我发现使用python file.py 2>&1 | tee output.txt
输出到控制台和文件时都存在此问题:
How to redirect stdout to both file and console with scripting?
删除2>&1 | tee output.txt
后,此问题(pdb中的向上箭头变为^[[A
)消失了。