Jupyter in VSCodeをRustでやってみた
簡単なコードの動作確認をいちいち新しいプロジェクトを立ち上げずにできないかなぁ、と思って調べていたら、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
- VScode拡張
VScodeを起動し、拡張機能からJupyter
をインストールします。
VScode上で動かしてみよう!
適当なディレクトリを作成し、拡張子ipynb
でファイルを作成します。PythonのNotebookの拡張子と同じです。デフォルトだと以下の通り、Pythonが選択されていると思います。私の場合は、Python 3.8.9 64-bit
と表示されていますが、この部分からカーネルをRustに変更できます。
※Rustが選択できない場合、一度ブラウザのNotebookでRustを選択して、コードを実行してから再度試してみてください。正式な設定方法ではないかもしれませんが、この方法で選択できるようになるはずです。
カーネルをRustに変更し、簡単なコードを書いて、実行した結果が以下です。
実行はボタンから実行できますが、Ctrl
+ Enter
でも実行できます。
まとめ
RustをVScode上のJupyterから実行することができました。
詳しい使い方は以下を参照してください。
rust-analyzer
と連携できれば、入力自動補完やエラー表示ができるのになぁ。。。どなたかやり方知っていればコメント頂けると助かります。
Discussion