⚙️

Jupyter in VSCodeをRustでやってみた

2022/09/30に公開

簡単なコードの動作確認をいちいち新しいプロジェクトを立ち上げずにできないかなぁ、と思って調べていたら、jupyter notebookでRustが使えるっぽい。VScodeの拡張機能で使えたら、いちいちブラウザ起動なども不要なので、VScodeで動かす方法を紹介します。ただ、入力の自動補完はできないっぽい?ので、少し不便かもしれません。。。VScodeでNeoVimの設定をしていたら、Vim操作はできるので、ブラウザよりもちょっと便利。

環境構築

  • Rust

本記事ではRust自体のインストール方法については省略します。
Rustのインストールが完了したら、以下のコマンでevcxr_jupyterをインストールします。

$ cargo install evcxr_jupyter
$ evcxr_jupyter --install

私の場合は、rustcのバージョンが古いためインストールできなかったので、エラー内容を確認し、サポートしてるrustcのバージョンをインストールしました。インストールしただけだと、適用されているバージョンは以前のままなので、切り替えましょう。

$ rustup install 1.64.0
$ rustup default 1.64.0
$ rustc -V
rustc 1.64.0
  • Python

本記事ではPython自体のインストール方法については省略します。
Pythonのインストールが完了したら、pipにてjupyterをインストールします。

$ pip install jupyter

以下のコマンドで、適切に起動するか、ブラウザで、確認してみましょう!
起動したブラウザの右上のNew -> NotebookにRustがあれば、成功しています。
※私はjupyterlabを導入していたり、テーマの設定を行っているので、若干見た目が違うかもしれません。。。

$ jupyter notebook

altテキスト

  • VScode拡張

VScodeを起動し、拡張機能からJupyterをインストールします。

VScode上で動かしてみよう!

適当なディレクトリを作成し、拡張子ipynbでファイルを作成します。PythonのNotebookの拡張子と同じです。デフォルトだと以下の通り、Pythonが選択されていると思います。私の場合は、Python 3.8.9 64-bitと表示されていますが、この部分からカーネルをRustに変更できます。
※Rustが選択できない場合、一度ブラウザのNotebookでRustを選択して、コードを実行してから再度試してみてください。正式な設定方法ではないかもしれませんが、この方法で選択できるようになるはずです。

altテキスト

カーネルをRustに変更し、簡単なコードを書いて、実行した結果が以下です。
実行はボタンから実行できますが、Ctrl + Enterでも実行できます。

altテキスト

まとめ

RustをVScode上のJupyterから実行することができました。
詳しい使い方は以下を参照してください。
rust-analyzerと連携できれば、入力自動補完やエラー表示ができるのになぁ。。。どなたかやり方知っていればコメント頂けると助かります。
https://github.com/google/evcxr/blob/main/evcxr_jupyter/samples/evcxr_jupyter_tour.ipynb

GitHubで編集を提案

Discussion