Я использую jupyter (или Ipython) ноутбук с firefox и хочу отлаживать некоторый код python в ячейке. Я использую 'import ipdb; ipdb.set_trace() 'как точка останова, например, моя ячейка имеет следующий код:
a=4
import ipdb; ipdb.set_trace()
b=5
print a
print b
который после выполнения с Shift + Enter дает мне эту ошибку:
--------------------------------------------------------------------------
MultipleInstanceError Traceback (most recent call last)
<ipython-input-1-f2b356251c56> in <module>()
1 a=4
----> 2 import ipdb; ipdb.set_trace()
3 b=5
4 print a
5 print b
/home/nnn/anaconda/lib/python2.7/site-packages/ipdb/__init__.py in <module>()
14 # You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
15
---> 16 from ipdb.__main__ import set_trace, post_mortem, pm, run, runcall, runeval, launch_ipdb_on_exception
17
18 pm # please pyflakes
/home/nnn/anaconda/lib/python2.7/site-packages/ipdb/__main__.py in <module>()
71 # the instance method will create a new one without loading the config.
72 # i.e: if we are in an embed instance we do not want to load the config.
---> 73 ipapp = TerminalIPythonApp.instance()
74 shell = get_ipython()
75 def_colors = shell.colors
/home/nnn/anaconda/lib/python2.7/site-packages/traitlets/config/configurable.pyc in instance(cls, *args, **kwargs)
413 raise MultipleInstanceError(
414 'Multiple incompatible subclass instances of '
--> 415 '%s are being created.' % cls.__name__
416 )
417
MultipleInstanceError: Multiple incompatible subclass instances of TerminalIPythonApp are being created.
Такая же ошибка появляется, если я использую этот код не в jupyter-ноутбуке в браузере, а в jupyter qtconsole. Что означает эта ошибка и что делать, чтобы ее избежать? Можно ли отлаживать код в ячейке шаг за шагом, используя команды next, continue и т.д. Отладчика pdb?