Python VScode

VSCodeから外部のJupyterへ接続する

投稿日:

目的

自端末の計算リソースが乏しい場合などに、リソースの豊富な計算機のJupyterを使用したいシーンがあります。ブラウザでJupyterを開けばいいだけの話ですが、エディタとして優れたVSCodeを使用したままJupyterも利用したい、というわがままな要求を満たすための方法についてまとめます。

環境

Jupyter サーバ (Windows10,Anaconda3 python3.7.6)

VSCodeクライアント version 1.46.0
python拡張機能

Step1 : Jupyterのconfig設定

VSCodeから外部のJupyterを使用する場合、VSCodeの拡張機能を使用することができますが、この拡張機能ではURLにtokenを埋め込んでアクセスする櫃ようがあります。そのため、Jupyterをパスワード認証ではなく、token認証方式にしておく必要があります。通常、tokenはJupyterサーバを起動するたびに生成されますが、今回は固定tokenを設定する方法について記載します。セキュリティ的には難ありなので注意。

ということで、まずはHOMEディレクトリの.jupyterフォルダにある、jupyter_notebook_config.pyを開きます。

ない場合は、以下を参考に作成してください。

jupyter_notebook_configファイルを開いたら、一番下に以下のようにtoken認証の記述を追加します。’ ‘の中に設定したいtokenの文字列を記載します。

c.NotebookApp.token = '<設定したいtoken>'

その後、Jupyter Notebookを再立ち上げします。再立ち上げの方法は一旦、サーバーの動作しているプロンプトの画面を閉じ、WindowsのスタートメニューのなかのAnaconda3 → Jupyter Notebookの順に開けばOkです。

以上で、Jupyter側の設定は終了です。

Step2 : VSCodeからの接続

VSCodeからの接続にはPythonの拡張機能を使用します。もしなければextensionからインストールします。

Pythonの拡張機能がインストールできている状態でF1キーを押し、表示されたサーチボックスの中にpythonと入力します。検索候補の中から

Python:Specify local or remote Jupyter server for connectionsをクリックします。

次にPick how to connect to Jupyterの選択がでますので、Existingを選択します。

するとEnter the URI of the running Jupyter serverと表示されます。

ここでtokenを埋め込んだJupyterサーバーのURIを以下のように入力します。

http://<hostname or IP>:8888/?token=<your_token>

下記例ではポートが8080となっていますが、通常Jupyterのデフォルトは8888になっているはずです。

以上でJupyterとの接続設定は完了です。

Step3 : Jupyterを使用して確認

最後に正しく接続できているかを確認します。

F1キーを押し、Python: Create New Blank Jupyter Notebookを選択します。

するとNotebookのセルが立ち上がるかと思います。この段階では右上にJupyter Server Not Startedと表示されているかもしれませんが、気にしなくても大丈夫です。

セルの中にと入力し、Shift + Enterを押します。

print("Hello World!")

すると、自動的にリモート先のJupyter serverと接続され、Hello worldと表示されます。右上の表示も相手先のJupyterのURIに変わりました。

無事にVSCodeからリモートのJupyterを使用することができました。

まとめ

リモートのリソースをVSCodeから使用できるメリットは個人的にはかなり大きいため、今後もこの環境を利用していきたいと思います。

-Python, VScode

執筆者:


comment

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

関連記事

Python scikit-learnのImportError

Anaconda3でscikit-learnのdatasetsのimport時にエラーが出たため、対処法についてメモ Contents1 環境2 エラー3 対処 環境 ①OSWindows10 ②An …

【Python】DataFrameの一列をきれいにリストへ変換する

Contents1 概要2 データベースから一列取得する例3 一重リストにする 概要 pythonでデータベースからデータを取得するときに非常に便利なライブラリとしてpandasがあります。read_ …

【Python】決定係数と相関係数の計算

Contents1 目的2 決定係数とは?3 Pythonによる決定係数の計算4 相関係数 目的 前回、あるデータXからデータYの関係を単回帰による線形方程式で表すことを行いました。ただし、これはあく …

AnacondaをWindowsへインストールする

Contents1 目的2 環境3 Step 1 : インストーラのダウンロード4 Step2 : インストール5 STEP3 : pythonコードテスト6 まとめ 目的 AnacondaをWind …

【Python】算術平均と幾何平均計算

Contents1 目的2 平均3 算術平均4 幾何平均5 まとめ 目的 統計学を使いこなしたい。でも参考書を読んでいても難しい概念や数式が沢山出てきて、その時は分かったつもりになっても後で実践的に使 …

言語切り替え

カテゴリー