« Windows 10 ダイヤルアップに関わる(?)トラブル対応あれこれ | トップページ | Shell ScriptとPOSIXコマンドで実践する簡単データ処理(その1) »

2019.05.12

WSLでJupyter notebookを使う&ショートカット・アイコンから実行する

(2020.04.14追記)
WSLでJupyter Labを使う&ショートカット・アイコンから実行するを書きましたので、併せてお読みください。
(2020.04.14追記ここまで)

MicrosoftからWSL 2が発表されましたね(アナウンスはここ )。

これまで、
WSL及びUbuntuのインストール手順を再整理しておく(2018年版)
など、WSLを試してきましたが、これまでのエミュレータに代えてLinuxカーネルをWindowsに組み込むなど、仕組みがずいぶん変わるとのことです。現行WSLは互換性について順次改善が進んできたものの問題が残っていたので、WSL 2に期待しています。

WSL 2はいずれ試したいと思っていますが、今回はWSLのJupyter notebookを簡単に起動する方法を試してみたのでその記録です。

試した環境は、
エディション Windows 10 Pro
バージョン  1903
OSビルド  18362.86
です。

また、今現在Microsoft StoreにあるUbuntuのバージョンはこちら。

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic

やりたいことは、UbuntuのWSL環境を構築して、ショートカットをダブルクリックするとJupyter Notebookが起動できるようにすることです。まず、WSLで動作するUbuntu環境にJupyter notebookをインストールします。

$ sudo apt install jupyter-core
$ sudo apt install jupyter-notebook

次にWindows側からJupyter notebookを呼び出す設定を行います。まず、WSLのデフォルトをUbuntuにします。PowerShellを管理者権限で起動して

> wslconfig /l

すると、インストールされているディストリビューション一覧が表示されます。どのディストリビューションが規定のディストリビューションか確認して、もし適切でなければ適切なディストリビューションを設定します。

> wslconfig /s Ubuntu

もし適切でなければ、後ほどファイルを実行した時に

sudo: /home/tonop/myScript/startService.sh: command not found

が表示されて所定のシェルスクリプトが実行されません。違うディストリビューション環境のファイルを実行しようとするのだから当然ですね。

2019051202

 ショートカットからPS1ファイルを呼び出して実行しますので、PowerShell においてPS1ファイルを実行できるように権限設定します。Windows PowerShellを管理者権限で起動して以下のコマンドを実行します。

 > Get-ExecutionPolicy
Restricted
> Set-ExecutionPolicy RemoteSigned

すると選択肢を問い合わせられるので、”Y”を選択すると権限設定が変更されます。

> Get-ExecutionPolicy
RemoteSigned

2019051204

 デスクトップにショートカットフォルダ“WSLScript”ショートカットstartJupyterを作成しました。

2019051203_2

次にショートカットのプロパティを設定します。
ショートカットのリンク先は

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit C:\Users\tonop\myScript\startJupyter.ps1

-noexitを付加することで、Shellを実行した後もターミナルが残ります。

作業フォルダは

C:\Users\tonop\myScript

のように適宜適切なフォルダを設定します。(myScriptフォルダの中でショートカットを作成すると、自動的に設定されるのではないでしょうか)

startJupyter.ps1は以下のとおりとしました。

wsl jupyter notebook ~/wsl_work

ここでは、~/wsl_workはjupyter notebook用ファイルの場所と仮定しています。ショートカットをダブルクリックすると下図のようなターミナル画面が起動します。

2019051204

 httpで始まるトークンを含むURLを指定してブラウザを起動します。

2019051205

Jupyter notebookが起動しました。

|

« Windows 10 ダイヤルアップに関わる(?)トラブル対応あれこれ | トップページ | Shell ScriptとPOSIXコマンドで実践する簡単データ処理(その1) »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« Windows 10 ダイヤルアップに関わる(?)トラブル対応あれこれ | トップページ | Shell ScriptとPOSIXコマンドで実践する簡単データ処理(その1) »