def trace(etype=None, value=None, tb=None):
    try:
        from IPython.ultraTB import AutoFormattedTB
        trace_any = AutoFormattedTB(mode='Verbose', color_scheme='NoColor', call_pdb=0)
        trace_exact = trace_any
    except:
        from traceback import print_exc, print_exception
        trace_any = print_exc
        trace_exact = print_exception
    if etype or value or tb:
        trace_exact(etype, value, tb)
    else:
        trace_any()

import sys
sys.excepthook = trace
