VS Code + WSL + PythonでJupyter Notebook。ローカルで完結するから意外と便利

※当ブログでは商品・サービスのリンク先にプロモーションを含みます。

Visual Studio CodeJupyter Notebook できたら便利じゃね?とか思い立ってやってみたら、意外と簡単にできてしまった。

Visual Studio Code + WSL + Python で Jupyter Notebook

Pythonで学ぶあたらしい統計学の教科書 第2版

大学の卒業研究にも区切りがついたところで、久しぶりにPythonで統計学の勉強を再開しようかな、と思った。本当に思いついてしまった、くらいの動機なんだけど。

テキストは「Pythonで学ぶあたらしい統計学の教科書 第2版」があるし。途中までやりかけだったし。

Pythonで学ぶあたらしい統計学の教科書 第2版

私はテキストの数式ばかりを追いかけるより、プログラムを書きながら考えた方が理解が進む感じがしていて、本書のようなテキストでの学習は性に合っていると思っている。

このたび、学習を再開するにあたり、Jupyter Notebook の環境を準備するかと思ったところで、冒頭のようにVS Codeでやれたら便利なんじゃないかと思い至る。

これまで Jupyter Notebook は Docker で作った環境の上で使っていたんだけど、VS Code + WSLならほとんど同じような環境が、サーバ使わず作れるんじゃね?という思いつきである。

もともと VS Code + WSL + R という環境を作っていたので、その流れで同じようにできるんじゃないかと。

想像していたとおり、WSL側にちょいなちょいなと設定をして、VS Codeにいくつかの拡張機能を追加してやれば、結構すんなりとJupyter Notebook環境を作ることができた。

WSLの設定

まず、WSLにはPythonとpipをインストールしておいた。

私はWSLはArch Linuxを使っているから、pacmanでインストールしてやる。まあ、Pythonはインストールするまでもなく入っていたが。

pacman -S python python-pip

Ubuntuでもaptでさらっと入れることができるだろう。何ならmyenvなど使ってもいい。とにかく、WSLでPythonが動く状態にすべし。

Pythonが使えるようになったら、学習用の仮想環境を作ってやる。

python -m venv study

WSLの設定はこのくらいでOKだ。

VS Codeの設定

VS CodeからWSLに接続し、先に作った学習用の仮想環境studyを開こう。「Connect to WSL」でWSLに接続し、studyディレクトリを開く。

それからいくつかの拡張機能をインストールする。

  • Python
  • Jupyter

まずこの2つをインストールしてやると、その他の必要な拡張機能も勧められるから言われるままに入れてしまえばほぼ完了だ。

あとはstudyディレクトリの下に「src」ディレクトリでも作って、その下に Notebook ファイルを作ってやろう。

どうやって作ってもいい。ファイルの拡張子が「ipynb」になっていれば 、VS CodeがNotebook だと思って開いてくれる。

Notebookに書いたコードをはじめて実行しようとしたタイミングで、Pythonのライブラリ「ipykernel」をインストールするか聞かれるので、それも言われるままにインストールしよう。

Visual Studio Code + WSL + Python で Jupyter Notebook

ついでに必要なライブラリをいくつかインストールしてくれる。Jupyter Notebookの実行にはこれらのライブラリが必要なのだ。

なお、このライブラリは、現在開いている仮想環境配下にインストールされるから、別の仮想環境を作って、そっちで作業しようとしたらまた聞かれる。

ここまでくればJupyter Notebook実行環境としての設定は完了で、Notebook を好きに作って遊べばいい。

Notebookを実行するにあたり、Pythonライブラリで必要なものがあれば (pandasとか)、VS Codeのターミナルからpipを使ってインストールする。この際、仮想環境をactivateしておくこと。もしかしたら仮想環境のactivateはVS Codeがやってくれるかもしれないんだけど、このあたりの挙動はよくわかっていない。

おわりに

久しぶりにPythonで統計の勉強をしようなどと思いつき、だったらVS Code + WSLで環境作れば便利なんじゃね?くらいの発想でやってみたら、結構すんなりと環境を作ることができた。

もともと VS Code + WSL + R という環境を作っていたから、その流れで行けた感じだ。

これまではJupyter Notebookの環境を自宅サーバーにDockerで構築していたんだけど、VS Code + WSLで作っちゃえばローカルで完結するから、これはこれで便利だと思う。

おかげで学習が捗る。快適になってよきかな。

学術活動

Posted by junchan