Posted at

VSCodeのタスクでjupyter notebookを起動する

More than 1 year has passed since last update.


はじめに

普段VSCodeでコードを書いていますが、jupyter notebookも使いたいときがあります。

jupyter notebookの起動はコマンドjupyter notebookで一発ですが、いちいち黒い画面でコマンドをたたくのはめんどくさいです。

自分はMinicondaを使っているので、activateしてからコマンド叩くのはもっとめんどくさいです。

そこで、VSCodeのタスクから起動できるようにタスクランナーを定義して使っています。

tasks.jsonの書き方いつも忘れるので備忘録を兼ねて。


環境

OS - Windows10

VSCode - 1.19.1

Anaconda3/Miniconda3 - 4.3.30


タスク定義


tasks.json

{

"version": "2.0.0",
"tasks": [
{
"label": "run-jupyter(環境名)",
"type": "shell",
"command": "cmd.exe",
"args": [
"/C",
"'C:\\Users\\[user name]\\Miniconda3\\Scripts\\activate.bat 環境名 & jupyter notebook'"
],
"group": "none",
"options": {
"cwd": "C:\path\to\notebook_dir"
},
"problemMatcher": []
}
]
}

label

タスク名。condaの環境名を入れておくとわかりやすい。

command

実行するファイルはコマンドプロンプトとする。

args

(ここがキモ)

一つ目の値 "/C" でコマンドプロンプトで実行するコマンドを指定。

二つ目の値 "'C:\\Users\\[user name]\\Miniconda3\\Scripts\\activate.bat 環境名 & jupyter notebook'" で、指定したconda環境をactivateしてjupyter notebookを起動する。

コマンドプロンプトでは、シングルクォートで囲うことでスペースを含んだコマンドを渡せる。

& で区切り、前のコマンドが実行された後に後続のコマンドを実行する。

前半でactivate.batで対象の環境をactivateし、その状態でjupyter notebookコマンドを実行する動作となる。

options の cwd

タスクが実行されるワーキングディレクトリ。jupyter notebookのルートディレクトリにしたい場所を指定する。


実行

上記定義ができたら、ctrl+p -> task [タスク名] と入力すれば、jupyter notebookが開きます。

止めるときは、VSCodeのターミナル画面でCtrl-Cです。VSCode自体を終了しても止まります。


終わりに


  • 自分は試していないのですが、jupyterをAnaconda環境で使う場合、環境をnotebook上のKernelから切り替えられるextensionもあるみたいです。

    https://qiita.com/yoppe/items/38005f415a5b8b884c7d

  • command や args を置き換えれば同じコンセプトで他のOSでもできると思います。