62

Firefox で jupyter (または Ipython) ノートブックを使用しており、セル内の Python コードをデバッグしたいと考えています。「import ipdb;」を使用しています。たとえば、私のセルには次のコードがあります。

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 で使用すると、同じエラーが表示されます。このエラーは何を意味し、それを回避するにはどうすればよいですか? pdb デバッガーの next、continue などのコマンドを使用して、セル内のコードを段階的にデバッグすることは可能ですか?

4

4 に答える 4