LoginSignup
16
19

More than 3 years have passed since last update.

WSL 2 環境で miniconda を使って JupyterLab を簡単に起動できるようにした話

Last updated at Posted at 2021-02-08

はじめに

WSL 2 で JupyterLab を使いたいと思ったのですが、Anaconda の商用利用有償化の話など色々あって結構手順が長くなったので、今回備忘録がてら記事にしてみました。

ついでにこれまでずっと抱き続けていた「JupyterLab 起動するときいつもコマンドが長くてクソめんどくさいんだよな……」というモヤモヤを解決しました。

環境構築

環境

  • Windows: Windows 10 20H2 (19042.746)
  • WSL 2: Ubuntu 20.04 LTS

miniconda インストール

cd ~
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod +x Miniconda3-latest-Linux-x86_64.sh
sh Miniconda3-latest-Linux-x86_64.sh
rm Miniconda3-latest-Linux-x86_64.sh

インストール手順の最後に

Do you wish the installer to initialize Miniconda3
by running conda init? [yes|no]

と聞かれますが、ここは yes としておきます。

パスを通します。 (厳密には既に .bashrc に追加されているので再読み込みします)

source ~/.bashrc

conda の channel 設定

conda-forge を唯一の channel に設定します。

Anaconda の商用利用有償化の話1があります。WSL 2 環境下では検証環境を作ったりとか色々やるわけですが、今後誰かに Python を使って何かしらをする手順を案内した場合に「その手順はライセンスの都合で使用できない」みたいなことになると面倒なので、とりあえず conda-forge で実行可能な手順なら誰でも実行可能だろうという理屈でこの手順を実施しています。

不要な人は飛ばしてください。

conda config --add channels conda-forge
conda config --remove channels defaults

既存のパッケージも全部 conda-forge 由来のものに置換しておきます。

conda update conda
conda update --all

JupyterLab インストール

一通り標準的なパッケージをインストールします。

conda install jupyter jupyterlab pandas scikit-learn matplotlib git

試しに起動してみます。

/home/<your-name>/miniconda3/bin/jupyter lab --no-browser

miniconda をデフォルトのままインストールした場合上記のようにユーザーのホームディレクトリにインストールされます。<your-name> を自分の環境に応じて置換して実行します。

表示された URL にアクセスしてきちんと動けばとりあえず OK です。

JupyterLab 設定

デフォルトのワーキングディレクトリを変更します。(必要ない人は飛ばして大丈夫です)

設定ファイルを生成します。

/home/<your-name>/miniconda3/bin/jupyter lab --generate-config

下記文字列を検索し、コメントアウトした上でデフォルトにしたいディレクトリを指定します。

c.ServerApp.root_dir = '/mnt/c/workspace'

コマンド化

WSL 2 では systemd が動いていないので、JupyterLab をサービス化して自動起動しておいていつでもブラウザでアクセス、とはいきません。(サーバーならともかく WSL 2 はローカル実行するものなので、その性質上あまりすべきではない気もします)

代わりに WSL 2 でコマンド一発で JupyterLab を起動できるようにしておきます。

aliasコマンドを使って長ったらしい JupyterLab 起動コマンドを jupyterlab というコマンドに丸め込みます。

.bashrc には .bash_aliases というエイリアス記述用のファイルが存在する場合にそれを読み込むコマンドが予め記述されている2そうです。

ということで、まず .bash_aliases を作成します。

vim ~/.bashrc

コマンド定義を記述します。

alias jupyterlab="/home/<your-name>/miniconda3/bin/jupyter lab --no-browser"

最後に .bashrc を読み込みます。

source ~/.bashrc

終わりに

jupyterlab

WSL 2 のコンソールで上記コマンド一発で JupyterLab が立ち上がるようになりました。

余談

やっておかないといけないこと

ginza のインストール時にビルドでこけて何事かと思ったらこういうことだった。

sudo apt install build-essential

コマンドメモ

環境追加

Python 3.9 環境を構築する場合

conda create -n py39 python=3.9

-n 以後は自由

Jupyter カーネル追加

conda activate py39
conda install notebook ipykernel
ipython kernel install --user --name=py39 --display-name=Python3.9

CUDA

WSL 2 は CUDA に対応し、GPU 利用が可能です。3
まだ正式リリースではありませんが、利用可能な状態が整いつつあります。

この記事は、Windows 環境で自作のロマンでつい搭載してしまった宝の持ち腐れとしか言いようのない GPU を機械学習用途できちんと動かせる日に向けた準備を兼ねています。

16
19
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
19