.NET Interactive Notebook 互動式文件測試
前言
同事參加K.NET2022年中技術分享,聽到的一個有趣的東西,讓你可以用 Markdown 寫說明文件,也可以搭配各種程式語言,直接在 Visual Studio Code 中 執行文件內的程式碼。
本機開發環境
- Visual Studio Code
- VSCode 安裝套件後,可以按 ctrl + shift + P ,會列出下圖清單,此時選擇 .NET Interactive: Create new blank notebook 建立空白的 Notebook 檔案
- 檔案類型選擇ipydb,此類型支援線上環境MyBinder
- 輸入C#程式碼,可以直接執行
MyBinder線上環境
寫好的文件,要給別人測試執行,最快的方式可以透過MyBinder直接對接Github的Repository。
- Github新增Repository KimInteractiveNotebook
- 新增Dockerfile (內容在連結裡)
- 新增Nuget.config (內容在連結裡)
- 目錄結構
- 簽入Github,並將URL貼到MyBinder 執行Launch,MyBinder會將你的Github建置成image。
- 最下方的URL 就是你要分享給別人執行的網址 https://mybinder.org/v2/gh/kimx/KimInteractiveNotebook/HEAD
- 當Launch完畢後,會執行一個獨立的容器,畫面如下,URL容器專屬網址,只有自己才可以使用,任何變更都不會寫回Repository上,當你關閉網頁後,再重新進入https://mybinder.org/v2/gh/kimx/KimInteractiveNotebook/HEAD,會再產另一個。
本機線上環境
本機可以執行如同MyBinder的環境
- 指定環境變數 C:\Users\user\AppData\Local\Programs\Python\Python310\Scripts
- 安裝JupyterLab
pip install jupyterlab
- 安裝.NET 環境
dotnet tool install -g Microsoft.dotnet-interactive
dotnet interactive jupyter install
- 在文件目錄下執行
jupyter lab --ip=0.0.0.0
其它參考