はじめに
普段VSCodeでコードを書いていますが、jupyter notebookも使いたいときがあります。
jupyter notebookの起動はコマンドjupyter notebook
で一発ですが、いちいち黒い画面でコマンドをたたくのはめんどくさいです。
自分はMinicondaを使っているので、activateしてからコマンド叩くのはもっとめんどくさいです。
そこで、VSCodeのタスクから起動できるようにタスクランナーを定義して使っています。
tasks.jsonの書き方いつも忘れるので備忘録を兼ねて。
環境
OS - Windows10
VSCode - 1.19.1
Anaconda3/Miniconda3 - 4.3.30
タスク定義
{
"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でもできると思います。