How can I do an "if run from ipython" test in Python?

Question:

To ease debugging from Ipython, I include the following in the beginning of my scripts

from IPython.Debugger import Tracer
debug = Tracer()

However, if I launch my script from the command line with

$ python myscript.py

I get an error related to Ipython. Is there a way to do the following

if run_from_ipython():
    from IPython.Debugger import Tracer
    debug = Tracer()

This way I only import the Tracer() function when I need it.

Asked By: Viktiglemma

||

Answers:

The Python way is to use exceptions. Like:

try:
    from IPython.Debugger import Tracer
    debug = Tracer()
except ImportError:
    pass # or set "debug" to something else or whatever
Answered By: Jan Hudec

This is probably the kind of thing you are looking for:

def run_from_ipython():
    try:
        __IPYTHON__
        return True
    except NameError:
        return False
Answered By: Tom Dunham
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.