Emacs中的Django shell显示转义字符

时间:2016-12-19 01:27:11

标签: python django shell emacs

我在使用Emacs中的manage.py shell时遇到了问题。我得到这样的东西:

Python 3.4.3 (default, Nov 17 2016, 01:08:31) 
Type "copyright", "credits" or "license" for more information.

IPython 5.1.0 -- 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.

[J[?7h[?12l[?25h[?2004l
[?12l[?25h

每次按下回车键,我都会在行首开始获取这些转义字符。 shell实际上仍然可以工作,但是非常不愉快。 我认为这是某种编码错误,但我不知道如何解决它。

我正在使用Emacs 24.3.1,并使用django-python package在Emacs中运行shell。

我对所有这些都是新手,如果问题没有得到妥善表示抱歉。

由于

2 个答案:

答案 0 :(得分:0)

可能不是编码错误,而是IPython用于设置颜色文本的代码。

通常你可以做

ipython --colors=noColor

运行IPython没有颜色。

但我不知道如何在此扩展程序中执行此操作。

答案 1 :(得分:0)

这在Emacs stackexchange网站上得到了解答:Weird shell output when using IPython 5

短篇小说是IPython转而使用与Emacs shell不兼容的prompt_toolkit。添加--simple-prompt参数以切换到与emacs兼容的提示。这解决了我在Emacs 24和IPython 6中的问题。

您可以将其添加到.emacs文件中:

(setq python-shell-interpreter-args "--simple-prompt")

或者在Emacs中,执行:

Meta + x customize-group RET python RET

然后将--simple-prompt添加到" Python Shell解释器Args"。

我尝试了--color参数,但它似乎不会影响emacs显示的颜色。