##// END OF EJS Templates
Cleaned up embedded shell and added cleanup method to InteractiveShell....
Cleaned up embedded shell and added cleanup method to InteractiveShell. * Added explicit code in InteractiveShell to make sure it cleans itself up. This is now done by the single method .cleanup, that can be called to have InteractiveShell cleanup. We can't use __del__ because of the many cycles in our object graph. * The embedded shell is refactored to no embedding logic is in the base class. Thus, InteractiveShell no longer takes an ``embedded`` argument. Just use InteractiveShellEmbed. * Created a super simple top-level :func:`embed` function that creates an InteractiveShellEmbed and calls it.

File last commit:

r2118:ec9810f7
r2226:7053ea2c
Show More
run_ipy_in_profiler.py
22 lines | 603 B | text/x-python | PythonLexer
/ tools / run_ipy_in_profiler.py
"""XXX - What exactly is the use of this script?
I (fperez) tried it quickly and it doesn't work in its current form. Either it
needs to be fixed and documented or removed.
"""
import cProfile as profile
import sys
#import profile
def main():
import IPython.ipapi
print "Entering ipython for profiling. Type 'Exit' for profiler report"
IPython.ipapi.launch_new_instance()
if len(sys.argv) == 1:
profile.run('main()', 'ipython_profiler_results')
import pstats
p = pstats.Stats(len(sys.argv) >1 and sys.argv[1] or 'ipython_profiler_results')
p.sort_stats('time').print_stats(30)