Использование магических функций IPython в оболочке ipdb

При отладке скрипта Python с использованием ipdb my_script.py я хочу использовать магические функции IPython, такие как %paste , %cd в ipdb сеанса ipdb debug. Возможно ли и как?

2 Solutions collect form web for “Использование магических функций IPython в оболочке ipdb”

В соответствии с IPdb Github repo магические функции IPython недоступны. К счастью, отладчик IPython дает пару подсказок о том, как получить эту функциональность, не запуская отдельную оболочку IPython.

Вот что я сделал, чтобы запустить %cpaste :

 ipdb> from IPython import get_ipython ipdb> shell = get_ipython() ipdb> shell.find_line_magic('cpaste')() Pasting code; enter '--' alone on the line to stop or use Ctrl-D. :for i in range(0,5): : print i :-- 0 1 2 3 4 

Таким образом, вы можете выполнить свой код и получить доступ ко всем магическим функциям IPython с помощью метода find_line_magic(your_magic_function) .

Вы можете открыть оболочку IPython внутри стека, как это делает pdb. Выполните следующие действия:

  • Импортируйте embed () из IPython и поместите его внутри своего кода.
  • Запустить скрипт

Пример:

 from IPython import embed def some_func(): i = 0 embed() return 0 

В оболочке Python :

 >>> te.func() IPython 1.0.0 -- An enhanced Interactive Python. (...) In [1]: %whos Variable Type Data/Info i int 0 In [2]: 

Это то, что вы искали?

  • Параллельные функции отображения в IPython с несколькими параметрами
  • Могу ли я сделать вывод ipython из вызывающего кода?
  • Получение более широкой информации в встроенной консоли PyCharm
  • IPython не перезагружает код при работе в QTConsole
  • сохранять выходные значения в txt-файле в столбцах python
  • Переопределить функцию выхода ipython - или добавить к ней крючки
  • Есть ли эквивалент CTRL + C в IPython Notebook в Firefox, чтобы разбить ячейки, которые запущены?
  • Компиляция Python 2.6.6 и необходимость в внешних пакетах wxPython, setuptools и т. Д. В Ubuntu
  • Выбор строк из фреймворка Pandas с составным (иерархическим) индексом
  • Python - лучший язык программирования в мире.