Jupyter Czym są te interaktywne notatniki? Dlaczego ostatnio jest o nich głośnio? Dlaczego ta moda doszła do środowiska .NET? Zacznijmy od początku. Interactive Notebooks i rozwiązanie Jupyter zaczęły swoją przygodę w środowisku Python.
Python to fantastyczny język programowania do tworzenia sztucznej inteligencji i pięknych wykresów. Ktoś pomyślał, że fajnie by było tworzyć interaktywne dokumenty, które będą zawierać kod, który wygeneruje coś na tym dokumencie.
Dlaczego ta moda doszła do środowiska .NET? C# nie jest na razie językiem programowania stworzonym do pisania sztucznej inteligencji, czy tam do tworzenia kolorowych wykresów, ale Microsoft chciałby, aby tak było w przyszłości.
Tak C# jako drugi Python. W końcu chcemy, aby C# stał się popularny wśród wielu programistów.
.NET Interactive Notebook powstało na bazie dwóch rzeczy :
- .NET Interactive : środowisko, które pozwala pisać kod C# w oknie interaktywnym
- Jupyter notebook : interaktywne dokumenty stworzona dla Pythona
Alternatywna nazwa .NET Interactive to "Try .NET". Jego użycie można zauważyć w wielu miejscach np. tutaj w tym tutorialu do C#, który może być uruchomiony z poziomu przeglądarki :
https://dotnet.microsoft.com/learn/dotnet/in-browser-tutorial/1
Jupyter notebook pochodzi ze środowiska Python. Te dokumenty są kombinacją sformatowanego testu w Markdown, który opisuje co twój kod ma zrobić, a samym kodem, który można interaktywnie uruchomić.
Jupyter notebook uruchamiają aplikacje "klient-serwer", która zazwyczaj lokalnie jest na twojej maszynie. Kod z tego interaktywnego notatnika jest wysłany do serwera i przetworzony, a jego rezultat wyświetla się w notatniku.
Rozwiązanie .NET Interactive Notebook to sumie dodanie możliwości kompilacji języków .NET jak C#, F# do tych notatników. Co więcej, pod tym linkiem możesz znaleźć wszystkie obsługiwane języki w tych notatnikach.
https://github.com/jupyter/jupyter/wiki/Jupyter-kernels
Jak to wszystko zainstalować?
Podobno wystarczy zainstalować dodatek ".NET Interactive Notebooks Extension" do Visual Studio Code, aby zacząć swoją przygodę, ale w moim przypadku to nie zadziałało i musiałem zrobić to wszystko standardową drogą.
Jak jest standardowa droga?
Najpierw musisz zainstalować Anaconda, która wymaga zainstalowanego Pythona. Potem zgodnie z dokumentacją uruchomiłem wiersz poleceń Anaconda.
Wpisałem następujące polecenia :
Sprawdziłem, czy Python jest zainstalowany poprawnie, a potem dodałem aktualizację wszystkiego.
python --version
conda update --all --yes
Teraz mogłem już uruchomić Jupyter notebook
jupyter notebook
Teraz jak pisać taki notatnik w Visual Studio Code. Instalujesz następujący dodatek "Jupyter":
Potem wciśnij "CTRL + SHIFT+ P" i poszukaj w oknie opcji : Jupyter: Create New Blank Notebook
Teraz napiszmy jakiś podstawowy kod w Pythonie, aby zobaczyć, jak ten notatnik działa.
Jak widzisz pliki notatnika mają rozszerzenie ipynb.
Jeśli chce uruchomić kod to wciskam symbol PLAY.
Każdy element może zostać zmieniony na tryb tekstowy Markdown.
Oto przykład dodanie treści tekstowej.
Jak widzisz taki interaktywny notatnik w Pythonie robi wrażenie. Teraz jak do tego dodać środowisko .NET.
Dla pewności sprawdź, czy masz zainstalowany .NET Interactive w wierszu poleceń.
dotnet tool install --global Microsoft.dotnet-interactive
Potem instalujemy kernel .NET do notatników przy pomocy następującej komendy:
dotnet interactive jupyter install
Potem w Anaconda Prompt sprawdź, czy ten kernel został dodany:
jupyter kernelspec list
Teraz gdy to wszystko masz możesz w Visual Studio Code tworzyć swój interaktywny notatnik w C#, F# i w sumie w Pythonie też.