header image
  • プログラム・ソフト
  • 物理学・工学
  • ガジェット
  • 当サイトについて
  • お問い合わせ
  • プログラム・ソフト
  • 物理学・工学
  • ガジェット
  • 当サイトについて
  • お問い合わせ
  • HOME
  • プログラム・ソフト
  • WSL+VSCode上でJupyter(Python)を使う

WSL+VSCode上でJupyter(Python)を使う

投稿日:2020年1月1日 更新日:2022年3月18日

  • Tags: [Python], [VSCode], [WSL],

nocap

WSL (Windows Subsystem for Linux) 上にPythonを入れ、VSCode (Visual Studio Code)で動かす環境構築をしたときの流れをメモ。WSLとVSCodeはすでにインストール済みであると仮定して話を進めます。

  • 環境
  • WSL上にAnacondaをインストール
    • pyenvのインストール
    • Anacondaのインストール
  • VSCodeに拡張機能(Remote-WSLとPython)を入れる
    • Remote-WSLの導入
    • Python Extensionの導入
  • 動作確認
    • テストファイルの作成、実行
    • セルについて
  • 最後に

環境

  • OS: Windows 10 64bit
  • WSL: Ubuntu 18.04.3 LTS
  • VSCode: version 1.41 (Windows 10上にインストール)

WSL上にAnacondaをインストール

WSL上にPython (+Jupyter)をインストールしますが、ここではpyenvを入れた上でAnacondaを導入する手法をとっています。AnacondaにはPythonとJupyterも含まれる、よく使われるパッケージ類が含まれていますのでAnacondaを入れればWSL上でPythonが一通り使えるようになります。

pyenvのインストール

WSLの端末(ターミナル)上で以下のコマンドを打ち込むことで、pyenvが入ります。

  git clone https://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.  bashrc

Anacondaのインストール

pyenvを入れたあとは、pyenvを使ってAnacondaをインストールします。入れるものは基本的に最新版で構いませんが、私の場合、当時最新版のAnaconda 3-2019.10ではJupyterが動かなかったため、anaconda 3-2019.07を入れています。

  pyenv install -l | grep anaconda	# 最新版を確認
pyenv install anaconda3-2019.07
pyenv rehash
pyenv global anaconda3-2019.07	# メインに使うpythonとしてanacondaを設定
echo 'export PATH="$PYENV_ROOT/versions/anaconda3-2019.07/bin/:$PATH"' >> ~/.bashrc
source ~/.bashrc

VSCodeに拡張機能(Remote-WSLとPython)を入れる

Remote-WSLの導入

VSCodeには、WSL内のファイルに直接アクセスできる拡張機能(Extensions)があります。それがRemote-WSLです。VSCodeを起動したら、左側のExtensionsアイコン(3+1つの正方形)を選び、”wsl”と検索すると”Remote-WSL”が見つかります。これをインストール(install on WSL: Ubuntu)し、VSCodeを再起動します。

※下の画像では、既にRemote-WSL導入済み

拡張機能 Remote-WSL
Fig.1. 拡張機能 Remote-WSL

これでRemote-WSLがVSCodeに導入できました。これを使うにはCtrl+Shift+pを押し、”wsl”と入力すると”Remote-WSL: New Window”が出てくるので、これを選びます。

Remote-WSL: New Windowの選択
Fig.2. Remote-WSL: New Windowの選択

新しく開いたウィンドウの左下の緑色の部分に”WSL: Ubuntu”と表示されていれば、WSL内のファイルが操作できるようになっています。

Remote-WSLに接続後の表示 "WSL: Ubuntu"
Fig.3. Remote-WSLに接続後の表示 “WSL: Ubuntu”

Python Extensionの導入

Remote-WSLが起動しているVSCode上で、左側のExtensionsアイコン(3+1つの正方形)を選び、”python”と検索します。Python(Microsoft製)が見つかったらこれをインストールします。

拡張機能 Python
Fig.4. 拡張機能 Python

インストールができたら、下の青色バー内の”Python 3.x.x…”の部分をクリックし、”Python 3.x.x… (anaconda3-x.x: conda)”を選びます。

以上で、VSCodeでWSL上のpythonを使うことができるようになりました。

動作確認

実際にWSL上のPythonをVSCodeで動かしてみます。今回使うのはJupyter NotebookというインタラクティブにPythonのコードを実行することができる機能です。本来、ファイルの拡張子は

  • *.py : Pythonのソースコードが記述されたファイル
  • *.ipynb: Jupyter Notebookで取り扱うファイル

となっており、Jupyter Notebookで作成したファイルは一度変換しないと純粋なpythonファイルとして扱うことができません。しかしVSCodeでは、*.pyファイルに対して直接Jupyter Notebookの機能を使うことができるため、取り扱いが便利です。

テストファイルの作成、実行

ファイルを作成するディレクトリとして、WSL上の場所を指定してみます。VSCodeの左下の緑色の場所に”WSL: Ubuntu”と表示されている状態で、左上のExplorerアイコンを押し”Open Folder”ボタンを押します。するとWSLのディレクトリを指定できるので、ホームディレクトリを指定してみます。

WSL上のディレクトリの指定
Fig.5. WSL上のディレクトリの指定

WSL上のディレクトリを指定できたので、新規ファイル作成アイコン(下画像)を押し”test.py”というファイルを作成してみます。

WSL上でのファイルの作成
Fig.6. WSL上でのファイルの作成

そしてファイル内に

  #%%
print("hello world!") 

と記述すると、%##の上に”Run Cell”と表示されるはずなので、これをクリックします。 すると右側に実行した結果が表示されるはずです。

“hello world!”と表示されていたら、うまく動いたということになります。

セルについて

上記のPythonコードの例では#%%という記述があります。これによってコードを区切ってできたかたまりをセルといいます。セルごとにコードを走らせることができ、”Run Cell”をクリックすると、その直下のセル内のコードが実行されるということです。ショートカットキーは以下の通りとなります。

  • Shift + Enter: カーソルのいるセルを実行し、下のセルにカーソル移動
  • Ctrl + Enter: カーソルのいるセルを実行し、カーソルは移動しない
  • Alt + Enter: カーソルのいるセルを実行し、下にセルを挿入(#%%を書き込む)

最後に

もともとテキストエディタのAtomを使ってJupyterを動かしていましたが、使っている間にモッサリしてきました。最近PCの環境再構築する機会がありましたので、これを機にVSCodeに乗り換えてみました。まだ使ってから日が浅いので、これからいろいろと試してみたいと思います。

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


【動画あり】Vimのコマンドを一覧にまとめてみた

Vimのレジスタの種類とコマンドの使い方・構造

Vimの改行コマンドと改行コードの操作

Win11にWSLインストール(エラー発生したので備忘録)

【超初心者向け】Vim(Vi)でなんとかファイル編集する方法

Vimのコマンドの表記とコマンドの基本構造(オペレーターとモーション)

Raspberry Piで音楽サーバー(Rune Audio)

VSCodeのPython(Jupyter)のショートカットと表示設定

  • プロフィール

  • Yoshiharu

  • 現在、ひよっこ光学系エンジニアをやっている一般人です。我流でプログラムをいじったりしています。備忘録、知識整理を兼ねてアウトプットをしていく予定です。

    • 【ラズパイ】格安な抵抗式・静電容量式の土壌湿度センサーを実際に使って比較

      2022.11.23

      【ラズパイ】格安な抵抗式・静電容量式の土壌湿度センサーを実際に使って比較


    • ELEGOO Neptune 2Sをレビュー!2万円台3Dプリンターの実力を実際に使って評価!

      2022.11.03

      ELEGOO Neptune 2Sをレビュー!2万円台3Dプリンターの実力を実際に使って評価!


    • 自作ラズパイゼロケースを3Dプリンター用にモデリング【FreeCAD】

      2022.10.13

      自作ラズパイゼロケースを3Dプリンター用にモデリング【FreeCAD】


    • 【初心者向け】FreeCADの基本的な使い方と手順の流れ

      2022.10.11

      【初心者向け】FreeCADの基本的な使い方と手順の流れ


    • 【Python】ラズパイでLチカ:LEDの取り扱い~抵抗値の計算

      2022.09.07

      【Python】ラズパイでLチカ:LEDの取り扱い~抵抗値の計算


  • アーカイブ

    • 2022年11月
    • 2022年10月
    • 2022年9月
    • 2022年8月
    • 2022年5月
    • 2022年4月
    • 2022年3月
    • 2022年1月
    • 2021年11月
    • 2021年9月
    • 2021年8月
    • 2021年7月
    • 2021年2月
    • 2021年1月
    • 2020年12月
    • 2020年10月
    • 2020年9月
    • 2020年8月
    • 2020年7月
    • 2020年3月
    • 2020年2月
    • 2020年1月
  • カテゴリー

    • Vim
    • ガジェット
    • プログラム・ソフト
    • 光学
    • 情報処理
    • 物理学・工学
    • プログラム・ソフト
    • 物理学・工学
    • ガジェット
    • 当サイトについて
    • お問い合わせ
    Y Lab Desk

    Copyright © Y Lab Desk, 2022 All Rights Reserved.