I have Python scripts that use the if __name__ == \'__main__\'
trick to have some code only run when the script is called as a script and not when it is loaded
IPython adds the function get_ipython()
to the globally available variables. So you can test, whether this function exist in globals()
to make your decision:
if __name__ == '__main__' and "get_ipython" not in dir():
print "I'm not loaded with IPython"
The above code just tests whether there is a global variable with name get_ipython
. To also test whether this variable is callable, you can do:
if __name__ == '__main__' and not callable(globals().get("get_ipython", None)):
print "I'm not loaded with IPython"