Help us understand the problem. What is going on with this article?

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でもできると思います。
nshinya
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした