elpy ipython错误消息中的错误行

时间:2017-03-22 21:22:36

标签: python emacs ipython elpy

当我在emacs中使用Elpy(解释器:ipython)时,我在错误消息中出错了。当我选择部分代码并使用ctrl-c-c在elpy中运行时会发生这种情况。错误消息显示错误的内容。例如:

import numpy as np

a = np.array([1,2,3])

for i in range(20):
    a = b
我故意写错了代码。如果我作为一个整体运行它,错误消息是正确的:

In [4]: ---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-4-31bb503ed55c> in <module>()
----> 1 import codecs, os;__pyfile = codecs.open('''/tmp/py14415AqV''', encoding='''utf-8''');__code = __pyfile.read().encode('''utf-8''');__pyfile.close();os.remove('''/tmp/py14415AqV''');exec(compile(__code, '''/home/yanza15/test.py''', 'exec'));

/home/yanza15/test.py in <module>()
      4 
      5 for i in range(20):
----> 6     a = b

NameError: name 'b' is not defined

但如果我只选择一个部件并使用ctrl-c-c来运行它:

for i in range(20):
    a = b

错误信息将是

In [5]: ---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-5-7e398e1dee8c> in <module>()
----> 1 import codecs, os;__pyfile = codecs.open('''/tmp/py14415N0b''', encoding='''utf-8''');__code = __pyfile.read().encode('''utf-8''');__pyfile.close();os.remove('''/tmp/py14415N0b''');exec(compile(__code, '''/home/yanza15/test.py''', 'exec'));

/home/yanza15/test.py in <module>()
      1 import numpy as np
----> 2 
      3 a = np.array([1,2,3])
      4 
      5 for i in range(20):

NameError: name 'b' is not defined

错误消息中的行号是2,这意味着我选择的第二行是错误的。但它显示的内容是整个代码中的第2行。那不是我想要的。如何自定义elpy以便错误消息显示我错误的代码的正确位置?

提前致谢!

0 个答案:

没有答案