在无所事事之后,我的Django的shell被破坏了
(virtulenv)miki@blablabla >> python manage.py shell
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
Type "copyright", "credits" or "license" for more information.
IPython 2.3.1 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]:
它显示白色空间的标志作为这些特殊的字符,但是当我看这里的预览时,它没有显示,我在这里放一个它的图像......
但是,这不是他唯一的问题。箭头和历史不起作用
In [1]: ^[[A^[[B^[[D^[[C
这也发生在普通的shell中:
(virtulenv)miki@blablabla >> python manage.py shell --plain
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> ^[[A^[[B^[[D^[[C
我已经尝试安装readline并重新编译python。
想法?
答案 0 :(得分:2)
我明白了......
Boss将此添加到设置中,导致它,因为生产编码。我添加了条件并在我的计算机上设置环境变量并且它已修复...
if not os.environ.get("DISABLE_UTF8_REDEFINE"):
sys.stdout = codecs.getwriter('utf8')(sys.stdout)
sys.stderr = codecs.getwriter('utf8')(sys.stderr)
答案 1 :(得分:2)
长期遭遇同一问题I found out安装bpython或ipython不仅解决了问题,而且通过语法突出显示我的调试生活也变得更加轻松,自动缩进,建议自动完成和许多其他花哨的东西。
只需安装bpython
即可pip install bpython
或ipython
pip install ipython
我个人推荐bpython而不是ipython,因为它更轻,而且正是你想要的。
答案 2 :(得分:0)
您的终端坏了。 $TERM
的当前值(假设有一个)与使用中的终端不匹配。