在ipython中,我在配置文件中启用了自动加载功能。通常,这会获取我的代码中的任何更改,ipython将执行新编译的版本。但是,如果代码中存在语法错误,我会改为使用旧版本。有时候发生这种情况并不明显,这非常令人困惑。在自动重载期间出现错误时,如何防止代码重新运行?或者,我怎样才能更明显地发现这样的错误?
示例:考虑此脚本
from __future__ import print_function
def do():
for i in xrange(50):
print('lines that obscure the view')
print()
print('Old version')
我用
调用它In [1]: import junk
In [2]: junk.do()
生成
...
lines that obscure the view
lines that obscure the view
Old version
现在改为:
from __future__ import print_function
def do():
for i in xrange(50):
print('lines that obscure the view')
print()
# print('Old version')
a = 3 *
print('New version')
重新运行代码后,自动重载会产生语法错误,然后ipython会快速生成输出,将错误滚动到屏幕上。
...
lines that obscure the view
lines that obscure the view
Old version
我正在使用python 2.7.12和ipython 5.1.0。