.NET Interactive で C# が Jupyter Notebook 上で動くのは結構前からありましたが、PowerShell も使えるようになったらしいので試してみました。
(ちなみに普段 PowerShell は滅多に使いまてん...)
今回はローカル環境で Jupyter Notebook で動かすのを試しますが、普段 Python の環境なんて使わないとローカルでこの環境を作るのはめんどいかもですね。そんな時は MyBinder とか使ってオンライン上で Jupyter Notebook で実行するのが良いかもしれませんね。
準備
conda update
ローカルで手軽に Jupyter を起動するのに Anaconda を入れてます。昔セットアップ方法を書いたなぁと思い出します。 私の場合既にインストール済みですが、最近 Anaconda さんを全く使ってないので、気分的な理由で Anaconda 本体のアップデートしておきます。
conda update -n base conda
アップデート後は 4.8.2 になりました。
ついでに理由もなく全パッケージをアップデートしときました。
conda update all
.NET Core 3.1 SDK のインストール
.NET Core 3.1 の SDK が必要になります。とりあえずなんのバージョンが入ってるか確認しましょう。
dotnet --list-sdks
うむ、昔整理したけど...ごみのように古いバージョンが入ってますな...3.1 はもちろんはいってます。
インストールしてない場合は、公式サイト などからインストールするしましょう。
dotnet-interactive のインストール
dotnet-interactive をインストールします。
dotnet tool install --global Microsoft.dotnet-interactive
次は、以下のコマンドでインストールするだけです。これで C# と PowerShell が使えるようになります(F# もか)
dotnet interactive jupyter install
インストール後、次のコマンドで C# と PowerShell の2つがインストールされていることを確認できます(あ、F#含めて3つ...)。
jupyter kernelspec list
Jupyter で C# / Power Shell を動かしてみる
適当なディレクトリに移動して jupyter notebook をコマンドで起動してみましょう。
jupyter notebook
ファイルを作るときに Python 3 のほかに、インストールした C# と PowerShell が選択できるようになっています(F# も(ry)
もちろん JupyterLab も同様です。
jupyter lab
カーネルで PowerShell を選択すれば PowerShell を動かせます。
C# を選択すれば C# が動くだけでなく magic command #!pwsh
を使って PowerSehll を動かすこともできます。F(ry...
C# / PowerShell ともにプレビューで使えない機能もあるので、今度の動向に注目ですね。
参考
.NET Interactive is here! | .NET Notebooks Preview 2 | .NET Blog
Public Preview of PowerShell Support in Jupyter Notebooks | PowerShell