Запуск pdb в ноутбуке Jupyter в среде conda - PullRequest
0 голосов
/ 03 октября 2019

Мой коллега недавно прислал мне несколько файлов .py, которые он написал, вместе с блокнотом jupyter, который вызывает функции из этих файлов. Код запускается в среде conda. Когда я пытаюсь отладить код с помощью pdb.set_trace (), он начинает работать, как и ожидалось. С помощью команды «l (ist)» я вижу другой код в ячейке (см. Код ниже). Однако, как только я пытаюсь пройтись по коду с помощью «n (ext)», он начинает трассировку через неожиданное выполнение вместо перехода ко второй строке, в которой определена переменная «data_name». Почему это так, и что я могу сделать, чтобы построчно перебирать свой код?

--Return--
> <ipython-input-16-a74c145a81f7>(1)<module>()->None
-> import pdb; pdb.set_trace()
(Pdb) l
  1  -> import pdb; pdb.set_trace()
  2     data_name = 'SLP-Control-Realigned2hr'
  3     fname_map = '{}.cycle{:03d}.map.lase'
  4     fname_llm = '{}.cycle{:03d}.llm.lase'
  5     
  6     ncycles = 1
  7     icycles = np.arange(ncycles)
[EOF]
(Pdb) n
> c:\users\pauld\anaconda3\envs\lase\lib\site-packages\ipython\core\interactiveshell.py(3329)run_code()
-> sys.excepthook = old_excepthook
(Pdb) l
3324                        await eval(code_obj, self.user_global_ns, self.user_ns)
3325                    else:
3326                        exec(code_obj, self.user_global_ns, self.user_ns)
3327                finally:
3328                    # Reset our crash handler in place
3329 ->                 sys.excepthook = old_excepthook
3330            except SystemExit as e:
3331                if result is not None:
3332                    result.error_in_exec = e
3333                self.showtraceback(exception_only=True)
3334                warn("To exit: use 'exit', 'quit', or Ctrl-D.", stacklevel=1)```
...