Python: Debugowanie graficzne w Jupyter Notebook

7-sty-2020

We wpisie https://www.mobilo24.eu/python-debugger-…k-postac-znakowa/ pokazywałem w jaki sposób debugować kod w Jupyter Notebook z wykorzystaniem starego znakowego debugera pdb. Teraz pora na bardziej klikalne rozwiazanie.

Zaczynamy od zainstalowania pakietu pixiedust. W tym celu w anaconda prompt wykonaj polecenie:

pip install  pixiedust

Teraz już w Jupyter Notebook należy załadować moduł odpowiedzialny za debugowanie:

import pixiedust

Kiedy chcesz rozpocząć debugowanie kodu dodaj do niego linijkę %%pixie_debugger, o tak:

%%pixie_debugger
i = 1

while i < 10:
   print(i)
   i += 3
 
   if i % 2 == 0:
      i -= 2

print('done i={}'.format(i))

Po uruchomieniu tej komórki, zostanie pod nią wyświetlony interfejs debuggera:

Nie wchodząc zbytnio w szczegóły pierwszy pomarańczowy przycisk uruchamia kod dalej (run), drugi - ze strzałką wykonuje jedną linijkę kodu itd. Warto po prostu poczytać dymki widoczne w tych raptem kilku widocznych poleceniach.

Kiedy chesz sprawdzić wartość wyrażenia korzystasz z evaluate:

A kiedy chcesz zatrzymać program w określonej linijce, kliknij na numerze tej linijki myszką. W ten sposób zdefiniujesz breakpoint symbolizowany ikonką rozdeptanego  robaka na marginesie. Numer linii będzie można też zobaczyć w okienku Breakpoints.

I co? Nie da się? Da się, tylko może jest potrzebnych kilka dodatkowych kroków!

 

Komentarze:

  1. MH napisał,

    Fajny artykuł. Właśnie zapisałem się na twój kurs Pythona i PANDAS więc pewnie będę instalował Jupyter Notebook oraz być może zainstaluje też ten pakiet do debugowania graficznego.

    Prawie codziennie uczę się Pythona i korzystam na codzień z PyCharm. Jeszcze nie wiem do czego może mi posłużyć Jupyter Notebook ale pewnie się dowiem niebawem :-).

    Dziękuję ci Rafał za tworzenie fajnych kursów o Python. Może byś coś stworzył o Django czyli tym framework-u do Pythona? Pewnie będę się tego uczył po skończeniu twoich dwóch kursów.

    Pozdrawiam :-).

  2. Rafał Kraik napisał,

    dziękuję, co do kolejnych kursów – się zobaczy 🙂

Autor: Rafał Kraik