Book Image

Mastering IPython 4.0

By : Thomas Bitterman, Dipanjan Deb
Book Image

Mastering IPython 4.0

By: Thomas Bitterman, Dipanjan Deb

Overview of this book

IPython is an interactive computational environment in which you can combine code execution, rich text, mathematics, plots, and rich media. This book will get IPython developers up to date with the latest advancements in IPython and dive deep into interactive computing with IPython. This an advanced guide on interactive and parallel computing with IPython will explore advanced visualizations and high-performance computing with IPython in detail. You will quickly brush up your knowledge of IPython kernels and wrapper kernels, then we'?ll move to advanced concepts such as testing, Sphinx, JS events, interactive work, and the ZMQ cluster. The book will cover topics such as IPython Console Lexer, advanced configuration, and third-party tools. By the end of this book, you will be able to use IPython for interactive and parallel computing in a high-performance computing environment.
Table of Contents (18 chapters)
Mastering IPython 4.0
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
6
Works Well with Others – IPython and Third-Party Tools
Index

Debugging


Python's ipdb debugger is the default for IPython. It is similar to the standard pdb for Python but has extensions to make IPython easier to work with.

There are several different ways to access the debugger, both post-mortem and at program startup.

Post-mortem debugging

After an exception has occurred, the %debug magic will start a post-mortem debugging session. This will launch the debugger at the point in the program at which the exception was raised.

The %pdb magic will automatically launch the debugger upon the next exception, similar to manually calling %debug. IPython can be started with the --pdb switch for the same behavior.

Outside of IPython, post-mortem debugging can be invoked by including the following lines in your program:

import sys
from IPython.core import ultratb
sys.excepthook = ultratb.FormattedTB(mode='Verbose', color_scheme='Linux', call_pdb=1)

Debugging at startup

The %run magic has a switch that can be used to start up a program under the ipdb debugger:

In [9]...