Linux 用 Windows サブシステム2 (WSL2)のトップページ


Linux 用 Windows サブシステム2 (WSL2)

Python を利用する

Python の環境を確認する

WSL をインストールした後にここの手順で各種ソフトウェアをインストールすれば既に pyenv の仮想環境と Anaconda がインストールされています.

rinsaka@XPS2019:~$ pyenv versions ⏎
  system
* anaconda3-2022.05 (set by /home/rinsaka/.pyenv/version)
rinsaka@XPS2019:~$ which python ⏎
/home/rinsaka/.pyenv/versions/anaconda3-2022.05/bin/python
rinsaka@XPS2019:~$

なお,pyenv による仮想環境の構築と切り替えについてはここを参照してください.

ディレクトリを作成する

Python のコードを保存するディレクトリ(フォルダ)を作成し,そのディレクトリに移動します.

rinsaka@XPS2019:~$ ls ⏎
Documents  ubuntu2204-ansible
rinsaka@XPS2019:~$ cd Documents/ ⏎
rinsaka@XPS2019:~/Documents$ ls ⏎
html  laravel  sample-data-sets
rinsaka@XPS2019:~/Documents$ mkdir python ⏎ ディレクトリを作成
rinsaka@XPS2019:~/Documents$ cd python ⏎
rinsaka@XPS2019:~/Documents/python$

Jupyter Notebook を起動する

Jupyter Notebook を起動するには,作業したいディレクトリに移動した後,jupyter notebook コマンドを入力します.Ubuntu 自体には Web ブラウザがインストールされていないので,表示された URL (http://localhost:8888/?token=....) をトークンも含めて全てコピーして Windows の Web ブラウザアドレスバーに貼り付けるか,表示された URL を Ctrl キーを押しながらクリックします.

rinsaka@XPS2019:~/Documents/python$ pwd ⏎
/home/rinsaka/Documents/python
rinsaka@XPS2019:~/Documents/python$ jupyter notebook ⏎
[I 09:12:29.994 NotebookApp] ノートブックサーバは cookie secret を /home/rinsaka/.local/share/jupyter/runtime/notebook_cookie_secret に書き込みます
[I 2023-03-19 09:12:31.456 LabApp] JupyterLab extension loaded from /home/rinsaka/.pyenv/versions/anaconda3-2022.05/lib/python3.9/site-packages/jupyterlab
[I 2023-03-19 09:12:31.456 LabApp] JupyterLab application directory is /home/rinsaka/.pyenv/versions/anaconda3-2022.05/share/jupyter/lab
[I 09:12:31.460 NotebookApp] ローカルディレクトリからノートブックをサーブ: /home/rinsaka/Documents/python
[I 09:12:31.460 NotebookApp] Jupyter Notebook 6.4.8 is running at:
[I 09:12:31.460 NotebookApp] http://localhost:8888/?token=afabd6e9ae55b412e37c9a6dfc1901edda7867b3c69db60b
[I 09:12:31.460 NotebookApp]  or http://127.0.0.1:8888/?token=afabd6e9ae55b412e37c9a6dfc1901edda7867b3c69db60b
[I 09:12:31.460 NotebookApp] サーバを停止し全てのカーネルをシャットダウンするには Control-C を使って下さい(確認をスキッ プするには2回)。
[W 09:12:33.193 NotebookApp] ウェブブラウザが見つかりません: could not locate runnable browser
[C 09:12:33.193 NotebookApp]

    To access the notebook, open this file in a browser:
        file:///home/rinsaka/.local/share/jupyter/runtime/nbserver-29893-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/?token=afabd6e9ae55b412e37c9a6dfc1901edda7867b3c69db60b
     or http://127.0.0.1:8888/?token=afabd6e9ae55b412e37c9a6dfc1901edda7867b3c69db60b

Web ブラウザのアドレスバーに URL を貼り付けると,Jupyter Notebook のホームページが表示されました.

wsl-python-01

右上の「新規」ボタンから「Python 3」をクリックします.

wsl-python-02

Juypter Notebook が利用できるようになりました.

wsl-python-03

Jupyter Notebook を終了したら,ターミナルで Ctrl + C を押し,確認で「Y」を入力します.これでプロンプトが入力待ちの状態に戻ります.

Ctrl + C で終了します.
^C[I 09:15:06.598 NotebookApp] 中断しました
ローカルディレクトリからノートブックをサーブ: /home/rinsaka/Documents/python
1 個のアクティブなカーネル
Jupyter Notebook 6.4.8 is running at:
http://localhost:8888/?token=afabd6e9ae55b412e37c9a6dfc1901edda7867b3c69db60b
 or http://127.0.0.1:8888/?token=afabd6e9ae55b412e37c9a6dfc1901edda7867b3c69db60b
このノートブックサーバをシャットダウンしますか? (y/[n])y ⏎
[C 09:15:08.385 NotebookApp] シャットダウンの確認
[I 09:15:08.385 NotebookApp] Shutting down 1 kernel
[I 09:15:08.587 NotebookApp] Kernel shutdown: a1631ba9-adcc-44e1-a1ef-11b79df82d57
[I 09:15:08.588 NotebookApp] Shutting down 0 terminals
rinsaka@XPS2019:~/Documents/python$

JupyterLab を起動する

JupyterLab の起動も Jupyter Notebook とほぼ同じです.作業したいディレクトリで jupyter lab コマンドを実行します.その後,表示された URL (http://localhost:8888/?token=....) をトークンも含めて全てコピーして Windows の Web ブラウザアドレスバーに貼り付けるか,表示された URL を Ctrl キーを押しながらクリックします.

rinsaka@XPS2019:~/Documents/python$ jupyter lab ⏎
NumExpr defaulting to 8 threads.
[I 2023-03-19 09:16:39.297 ServerApp] jupyterlab | extension was successfully linked.
[I 2023-03-19 09:16:39.305 ServerApp] Writing Jupyter server cookie secret to /home/rinsaka/.local/share/jupyter/runtime/jupyter_cookie_secret
[I 2023-03-19 09:16:39.433 ServerApp] nbclassic | extension was successfully linked.
[I 2023-03-19 09:16:39.434 ServerApp] panel.io.jupyter_server_extension | extension was successfully linked.
[I 2023-03-19 09:16:39.455 ServerApp] nbclassic | extension was successfully loaded.
[I 2023-03-19 09:16:39.456 LabApp] JupyterLab extension loaded from /home/rinsaka/.pyenv/versions/anaconda3-2022.05/lib/python3.9/site-packages/jupyterlab
[I 2023-03-19 09:16:39.456 LabApp] JupyterLab application directory is /home/rinsaka/.pyenv/versions/anaconda3-2022.05/share/jupyter/lab
[I 2023-03-19 09:16:39.460 ServerApp] jupyterlab | extension was successfully loaded.
/panel-preview/ /panel-preview
[I 2023-03-19 09:16:39.462 ServerApp] panel.io.jupyter_server_extension | extension was successfully loaded.
[I 2023-03-19 09:16:39.463 ServerApp] ローカルディレクトリからノートブックをサーブ: /home/rinsaka/Documents/python
[I 2023-03-19 09:16:39.463 ServerApp] Jupyter Server 1.13.5 is running at:
[I 2023-03-19 09:16:39.463 ServerApp] http://localhost:8888/lab?token=bfeb070103289316838c54dae9793f50bf5e78ec1702ad20
[I 2023-03-19 09:16:39.463 ServerApp]  or http://127.0.0.1:8888/lab?token=bfeb070103289316838c54dae9793f50bf5e78ec1702ad20
[I 2023-03-19 09:16:39.463 ServerApp] サーバを停止し全てのカーネルをシャットダウンするには Control-C を使って下さい(確認をスキップするには2回)。
[W 2023-03-19 09:16:40.974 ServerApp] ウェブブラウザが見つかりません: could not locate runnable browser
[C 2023-03-19 09:16:40.975 ServerApp]

    To access the server, open this file in a browser:
        file:///home/rinsaka/.local/share/jupyter/runtime/jpserver-29917-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/lab?token=bfeb070103289316838c54dae9793f50bf5e78ec1702ad20
     or http://127.0.0.1:8888/lab?token=bfeb070103289316838c54dae9793f50bf5e78ec1702ad20

Web ブラウザのアドレスバーに URL を貼り付けると,JupyterLab が起動しました.「Notebook」の「Python 3」をクリックして新規ファイルを作成します.

wsl-python-05

これで Python コードの実行ができます.

wsl-python-06

JupyterLab を閉じた後は,ターミナルで Ctrl + C を押し,確認で「Y」を入力します.これでプロンプトが入力待ちの状態に戻ります.

Ctrl + C で終了します.
^C[I 2023-03-19 09:18:08.651 ServerApp] 中断しました
ローカルディレクトリからノートブックをサーブ: /home/rinsaka/Documents/python
1 個のアクティブなカーネル
Jupyter Server 1.13.5 is running at:
http://localhost:8888/lab?token=bfeb070103289316838c54dae9793f50bf5e78ec1702ad20
 or http://127.0.0.1:8888/lab?token=bfeb070103289316838c54dae9793f50bf5e78ec1702ad20
Shutdown this Jupyter server (y/[n])? y ⏎
[C 2023-03-19 09:18:10.257 ServerApp] シャットダウンの確認
[I 2023-03-19 09:18:10.258 ServerApp] Shutting down 3 extensions
[I 2023-03-19 09:18:10.259 ServerApp] Shutting down 1 kernel
[I 2023-03-19 09:18:10.260 ServerApp] Kernel shutdown: e7a4fff2-c1cc-49fa-8ece-825b2144b6f1
[I 2023-03-19 09:18:10.462 ServerApp] Shutting down 0 terminals
rinsaka@XPS2019:~/Documents/python$