目次
- WSL2/Ubuntu20.04LTSのPythonをWindows11上のVsCodeでリモート開発
- UbuntuからVsCodeを起動できることを確認
- WSL2でリモート開発できるようにする
- とりあえずPythonで動作確認
WSL2/Ubuntu20.04LTSのPythonをWindows11上のVsCodeでリモート開発
Windows11+WSL2:UbuntuのPythonを、Windows11のVsCode(Visual Studio Code)を使ってリモート開発・デバッグできるようにします。
UbuntuからVsCodeを起動できることを確認
VsCode(VisualStudioCode)はインストール済の前提です。
WSL2のUbuntu上でソースを置いているフォルダをカレントにして、以下のコマンドを実行すると、WIndows上のVsCodeを起動できます。
code .
わかりづらいですが、codeの後ろに半角空白おいてピリオド(.)をうってます。
そうするとVsCodeがそのフォルダをカレントにして起動します。
最初に実行するときは以下のようにダウンロードが走りますが、初回だけです。
WSL2でリモート開発できるようにする
VsCodeで、WSL2上のUbuntuのPythonをリモートデバッグできるようにしていきます。
VsCodeniにリモート拡張機能をインストール
まず、拡張機能をインストールします。
VsCodeを開いて拡張機能がダウンロードされて、以下の画面になるので、ローカルにインストールします。
UbuntuにVsCodeサーバーに必要なコマンドをインストール
今度は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を開きます。
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がインストールされていないというダイアログが表示されたり、インストールボタンを押してもエラーで落ちたり、何かとうまくいかないことがおきて快適ではなくなります。
はっきり言って、やめたほうがいいです。
UbuntuのPythonをVsCodeを使って快適に開発したいのならデフォルトのみにします。
もし、デフォルト以外のバージョンを使ってVsCodeで連携させたいなら、pyenv・pipenvなどを使って仮想環境でやるべき・・ということに落ち着きます。
ではでは。