はじめに
この記事は、これまでサーバーにSSH接続でログインした後、poetryで構築していた仮想のPython環境でJupyterNotebookを使用していた自分が、
「VSCode内でJupyter使えるんだってよ!」
と聞いて、それなら解析環境の改善につながるかと試してみた際の備忘録です。
準備するぞ!
この辺は、1度設定を済ませておけば、2回目以降はスキップできるやつですね。
環境
2020のM1 macを使用していますが、サーバー内はUbuntuなのと、VSCodeがWinでも使えるはずなのでローカルの環境にはほぼ影響は受けないと思います。
Poetry環境の準備
-
pip install poetry
でpoetryが使えるようにしておきます- 最低限のpython3の設定は省きます
- サーバー内のプロジェクトフォルダで
poetry init
とかしておpyproject.toml
を用意します -
poetry config virtualenvs.in-project true
して、poetryで.venv
が作られる状態にします -
poetry config --list
で表示されるvirtualenvs.path
の中は空にしておく$ poetry config --list ... virtualenvs.create = true virtualenvs.in-project = true ...
-
poetry install
で仮想環境を作成 -
pyproject.toml
と同じ階層に.venv
が作成されていることを確認する$ ls .venv LICENSE NOTICE bin etc include lib pyodbc.pyi pyvenv.cfg share
VSCodeの準備
- VSCodeのextensionをインストールする
- リモート接続用のconfigファイルしておく
-
~/.ssh/config
に必要な設定が書いてある状態
-
接続するぞ!
さて、準備が整ったら、あとはVSCodeから接続していきましょう。
左バーにRemote Explorerが表示されてると思います。
SSHの下に入りたいサーバーが表示されていないなら、configファイルの設定が違っているので、歯車から適切なファイルを選択しましょう
そして、入りたいサーバーが表示されると思うので、Current WindowでもNew Windowでもお好きな方で開いてください。
それがうまくいけば、Openからサーバー内のディレクトリが開けると思いますが、この時、 pyproject.toml
がある場所(= .venv
がある場所)を開くようにしてください。
そのあとは、普段VSCodeを使うのと同じようにファイルを選択して編集ができます。
そして、 .ipynb
のファイルを開くと、既にJupyter Notebookが使えるようになっているかと思います。
ただし、importがうまくいかないケースがあるかも知れません。
そんな時は一旦落ち着いて、画面右上に見えているカーネル選択のボタンをクリックしてください。
どれを使うか選択できるので、Global Envでもなく、PyEnv Envでもなく、 .venv
を使用した環境を選択してください。
そうすると右上にも .venv
が見えると思いますし、準備段階で poetry install
してできた環境が使えるようになったかと思います。
のように、無事、importできていますね。
おわりに
ということで、サーバー内にPoetryで作成した仮想環境に、RemoteSSH接続することでVSCodeからJupyterNotebookが使えるようにするためのメモを書いてきました。
自分的には普段使い慣れていたJupyter環境とはテーマ(見た目)がガラッと変わってしまったのでまだ慣れていませんが、デザイン面・UI面なども整えていきたいと思います。
これで解析環境は改善されるかな?