SE_BOKUのITな日常

SE_BOKUが知ってること・勉強したこと・考えたことetc

WSL2:Ubuntu20.04LTSのPythonをWindows11:VsCodeでリモート開発

目次

WSL2/Ubuntu20.04LTSのPythonをWindows11上のVsCodeでリモート開発

Windows11+WSL2:UbuntuPythonを、Windows11のVsCodeVisual Studio Code)を使ってリモート開発・デバッグできるようにします。

UbuntuからVsCodeを起動できることを確認

VsCode(VisualStudioCode)はインストール済の前提です。

WSL2のUbuntu上でソースを置いているフォルダをカレントにして、以下のコマンドを実行すると、WIndows上のVsCodeを起動できます。

code .

わかりづらいですが、codeの後ろに半角空白おいてピリオド(.)をうってます。

そうするとVsCodeがそのフォルダをカレントにして起動します。

最初に実行するときは以下のようにダウンロードが走りますが、初回だけです。

WSL2でリモート開発できるようにする

VsCodeで、WSL2上のUbuntuPythonをリモートデバッグできるようにしていきます。

VsCodeniにリモート拡張機能をインストール

まず、拡張機能をインストールします。

marketplace.visualstudio.com

VsCodeを開いて拡張機能がダウンロードされて、以下の画面になるので、ローカルにインストールします。

UbuntuVsCodeサーバーに必要なコマンドをインストール

今度はUbuntu側です。

sudo apt update

これでupgrade必要とでたら、upgradeもして最新状態にしておきます。

sudo apt upgrade

あと、wget  と ca-certificatesのインストールが必要ですが。

sudo apt-get install wget ca-certificates

僕の環境では「 already the newest version」でした。

とりあえずPythonで動作確認

もう一度、WSL2のUbuntuから「code .」でVsCodeを開きます。

そしてPython拡張機能をインストールします。

install in WSL:Ubuntu という選択肢が増えているので、こちらを選びます。

そこそこ時間がかかります。

それができたら、適当なソースでデバッグ実行できるかやってみます。

とりぜず、新しいターミナルを開くと。

Ubuntuのシェルのプロンプトになってます。

ここで適当なPythonプログラムを書いて、ブレークポイントを仕掛けて、デバッグ実行してみます。

デバッグ実行すると。

止まってます。

仮想環境を使わないならPythonのバージョンはデフォルト固定

仮想環境を使わない限り・・ですが。

VsCodeから実行するとPython3のシンボリックリンクのバージョンが実行されます。

Ubuntu20.04LTSだとPython3.8ですかね。

それ以外のバージョン・・例えば、Python3.11をインストールしたとしても「settigs.json」で以下のように書き込んだら、実行させるだけならできます。

 "python.pythonPath": "/usr/bin/python3.11"

でも。

そうしたとたんに、autopep8とかflake8がインストールされていないというダイアログが表示されたり、インストールボタンを押してもエラーで落ちたり、何かとうまくいかないことがおきて快適ではなくなります。

はっきり言って、やめたほうがいいです。

UbuntuPythonVsCodeを使って快適に開発したいのならデフォルトのみにします。

もし、デフォルト以外のバージョンを使ってVsCodeで連携させたいなら、pyenv・pipenvなどを使って仮想環境でやるべき・・ということに落ち着きます。

ではでは。