##// END OF EJS Templates
Backport PR #2924: safe_run_module: Silence SystemExit codes 0 and None....
Backport PR #2924: safe_run_module: Silence SystemExit codes 0 and None. In `safe_execfile` we ignore SystemExit exceptions with codes 0 and 1. We don't do this for `safe_run_module` which leads to the following mismatch of tracebacks between Python and IPython: ``` $ cat > exit0.py import sys sys.exit(0) $ python -m exit0 $ ipython -m exit0 --------------------------------------------------------------------------- SystemExit Traceback (most recent call last) /usr/lib/python2.7/runpy.pyc in run_module(mod_name, init_globals, run_name, alter_sys) 174 if alter_sys: 175 return _run_module_code(code, init_globals, run_name, --> 176 fname, loader, pkg_name) 177 else: 178 # Leave the sys module alone /usr/lib/python2.7/runpy.pyc in _run_module_code(code, init_globals, mod_name, mod_fname, mod_loader, pkg_name) 80 mod_globals = temp_module.module.__dict__ 81 _run_code(code, mod_globals, init_globals, ---> 82 mod_name, mod_fname, mod_loader, pkg_name) 83 # Copy the globals of the temporary module, as they 84 # may be cleared when the temporary module goes away /usr/lib/python2.7/runpy.pyc in _run_code(code, run_globals, init_globals, mod_name, mod_fname, mod_loader, pkg_name) 70 __loader__ = mod_loader, 71 __package__ = pkg_name) ---> 72 exec code in run_globals 73 return run_globals 74 /tmp/exit0.py in <module>() 1 import sys ----> 2 sys.exit(0) SystemExit: 0 WARNING: Unknown failure executing module: <exit0> ``` The attached pull request silences SystemExit exceptions with codes 0 and None.

File last commit:

r6459:7dd2355e
r9972:8ab632a4
Show More
__init__.py
33 lines | 1.1 KiB | text/x-python | PythonLexer
Brian Granger
Fixed import statements for inputhook.
r2068 # encoding: utf-8
"""
Extra capabilities for IPython
"""
#-----------------------------------------------------------------------------
Matthias BUSSONNIER
update copyright to 2011/20xx-2011...
r5390 # Copyright (C) 2008-2011 The IPython Development Team
Brian Granger
Fixed import statements for inputhook.
r2068 #
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
from IPython.lib.inputhook import (
enable_wx, disable_wx,
enable_gtk, disable_gtk,
enable_qt4, disable_qt4,
Brian Granger
More testing and docstrings added for inputhook.py
r2069 enable_tk, disable_tk,
Nicolas Rougier
Added code for the GLUT interactive session
r4806 enable_glut, disable_glut,
Nicolas Rougier
Missing files added (again). Need to practice with git...
r4693 enable_pyglet, disable_pyglet,
Thomi Richards
Gtk3 integration with ipython works.
r6459 enable_gtk3, disable_gtk3,
Brian Granger
Finishing up the wx, qt4 and tk support. Still have to do gtk.
r2214 set_inputhook, clear_inputhook,
Brian Granger
Updating terminal GUI support to use guisupport.py for qt4/wx.
r2918 current_gui
Brian Granger
Fixed import statements for inputhook.
r2068 )
Stefan van der Walt
Add hashed passphrase generation and verification.
r5320 from IPython.lib.security import passwd
Brian Granger
Fixed import statements for inputhook.
r2068 #-----------------------------------------------------------------------------
# Code
Brian Granger
Updating terminal GUI support to use guisupport.py for qt4/wx.
r2918 #-----------------------------------------------------------------------------