VS CodeとWSL2でPythonのローカル開発環境

VS Codeを使ってDjangoをコーディングする場合、サーバーがUbuntuならば、Windowsのローカル開発環境もUbuntuに揃えたくなります。そこで、VS CodeとWSL2でPythonのローカル環境を構築する方法を紹介します。

前の記事<<     >>次の記事

1. WSL2のUbuntuをインストール

まずはWindowsにWSL2をインストールし、Ubuntuをインストールします。下のリンク先の説明はWindows11へのインストール手順です。

docker♪前準備としてwin11にWSL2をインストール

2. Ubuntuのアップデート

インストールしたばかりのUbuntuは最新版ではありませんので、最初にアップデートしておきましょう。

以下の記事は、サーバーのUbuntuのアップデートの方法を説明したものですが、WSL2のUbuntuも同じです。

Ubuntuのupdate、upgrade、do-release-upgradeとは

3. ConoHa VPSにUbuntu。仮想環境とDjangoの導入。

WSL2のUbuntuに仮想環境を構築し、Python, matplotlib, Djangoをインストールします。以下の記事は、サーバーのUbuntuにインストールする方法を説明したものですが、WSL2のUbuntuも同じです。

ConoHa VPSにUbuntu。仮想環境とDjangoの導入。

なお、PythonダウンロードリンクのSourceでは、ユーザーフォルダから、以下のコマンドの実行によりソースコードをダウンロードする方法が紹介されていますが、この方法ではフリーズするので、ソースファイルをWindowsでダウンロードして、直接、Ubuntuのユーザーフォルダにコピーしてください。

wget https://www.python.org/ftp/python/3.x.y/Python-3.x.y.tar.xz

4. VS Codeに拡張機能をインストール

VS CodeでWSL2のUbuntuが使用できるように、拡張機能をインストールします。

(1) Remote - WSLのインストール

VS Codeを起動し、拡張機能(Ctrl+Shift+X)より、「Remote - WSL」をインストールします。

ただし、Remote Developmentをインストールすると、Remote - Containers、Remote - SSH、Remote - SSH: Editing Configuration Files、Remote - WSLも一緒にインストールされるので
こちらでもかまいません。

(2) PowerShellより、VS Codeの起動

PowerShellを起動し、「wsl」によりUbuntuを起動する。そして、起動したいディレクトリに移動して以下のコマンドを実行するとVS Codeが起動します。

code .

(3) Python拡張機能のインストール

以下の拡張機能について、「WSL:Ubuntuにインストールする」を実行する。なお、拡張機能をPythonで検索すると複数の拡張機能が表示されますので、Microsoft純正のPython拡張機能をインストールします。

  • Python
  • Japanese Language Pack for Visual Studio Code

これで、VS CodeでWSL2のUbuntuが利用できるようになりました。

5. 仮想環境でのVS Codeの起動

ここで分かりにくいのは、仮想環境でVS Codeを起動したい場合です。例えば、以下のような構成で環境を構築し、pythonのコードを「/home/user_name/py1/file」の中に入れていたとします。

この場合、「file」から実行したくなりますが、その場合、VS Codeは仮想環境で起動しません。「.venv1」が直下にある「py1」から「code .」を実行することにより、仮想環境で起動します。

/home
 │
 └user_name   #一般ユーザー名
   │
   ├py1       #仮想環境実行用ディレクトリ-1
   │ └.venv1  #仮想環境設定ファイル(仮想環境名)

   │ └file   #pythonのコード
   └py2       #仮想環境実行用ディレクトリ-2
     └.venv2  #仮想環境設定ファイル(仮想環境名)

6. VS Codeのターミナルを仮想環境

上記の方法で起動した直後は、VS Codeの下部のターミナルは仮想環境で起動していません。しかし、デバッグの実行(F5)などを実行すると自動でターミナルも仮想環境に入ります。

もちろん、VS Codeのターミナルで「. .venv1/bin/actibate」を実行することによっても仮想環境を起動することができます。

7. WSL環境からWindows環境に戻る

左下の[WSL:Ubuntu]→[リモート接続を終了する]により、WSL環境は終了し、Window環境にもどることができます。

8. Windowsのプロジェクトへのアクセス

基本的には、Ubuntuのディレクトリにデータを保存した方がよいですが、Windowsのデータを使用することもできます。

Windowsのプロジェクト(ファイル)へのアクセスは、[ファイル]→[フォルダー(ファイル)を開く]から、「/mnt/c/」で始まるパスにより指定します「/c/」の部分はcドライブであることを示します。

ただし、仮想環境で起動しませんので、VS Code起動後に[Ctrl + Shift + P]によりコマンドパレットを開き、「Python: Select Interpreter」を検索して起動します。

インタープリターの起動では、仮想環境が選択できないと思いますので、起動したい仮想環境のインタープリターのパスを直接指定します。

/home/user_name/py1/.venv1/bin/python
~/py1/.venv1/bin/python  #/home/user_name/を「~」とした場合

次からこのプロジェクト(ファイル)を起動するときは、この仮想環境を優先して起動します。

9. Default Interpreter Path、Env Fileの設定

使用するPythonのインタプリタや仮想環境を具体的に指定したい場合は、それぞれ、「左下の歯車」→「設定」より、検索欄に「python.defaultinterpreterpath」「python.envFile」を入力して、「Python: Default Interpreter Path」「Python: Env File」を見つけます。

そして、それぞれ、使用するPythonのインタプリタのpath、仮想環境の設定ファイルが入ったディレクトリを指定して下さい。

具体的には、以下の記事を参考にしてください。

VS CodeでSSH接続。Pythonの仮想環境、lint機能。

9. あとがき

いかがでしょうか。WSL2でPythonが実行できる環境ができれば、そのあとVS Codeで実行できるようにするのは簡単です。

また、WSL2のUbuntuで構築した仮想環境で実行することができるので、是非、チャレンジしてみてください。

私が実際にレンタルしたVPSサーバー

私が実際にレンタルしたVPSサーバーはConoHa VPSです。私は1GBのプランを申し込みました。VPSサーバーは一般のレンタルサーバーと異なりOSやアプリケーションを自由に設定できるので、Pythonで計算した結果をサイトに表示することもできます。

なお、ConoHa VPSの特長として、サーバーのディスクイメージを丸ごとバックアップできるイメージ保存機能を無料で使用することができます。コードを変更して元に戻せなくなった場合にも安心です。

また、ConoHa VPSは途中でプランをスケールアップできるだけでなく、スケールダウンすることもできます。つまり、2Gプランを1Gプランに変更することができます。ただし、512MBプランだけはスケールアップ・ダウン機能が使用できないので注意してください。

また、初期費用なしで3日だけ借り、3日分の費用だけ払うといったことも可能なので気軽に始められます。※時間課金(月の上限額は決まっています)

私からの友達紹介でクーポンをゲット

なお、以下のリンクから入ると、私からの友達紹介の扱いとなり1000円分のクーポンが支給されます。リンク先には「友達紹介」といった表記がないので「友達紹介」が適用されているのか不安になりますが大丈夫です。登録終了後にログインしたユーザーTop画面を確認すると支給されたクーポン1000円が表示されるはずです。

[ Conohaの友達紹介 ]

なお、友達紹介では個人情報が紹介者には開示されないので安心してご利用ください。

その他

Twitterへのリンクです。SNSもはじめました♪

液晶ペンタブレットを購入しました
 (1) モバイルディスプレイを買うつもりだったのに激安ペンタブレット購入

以下、私が光回線を導入した時の記事一覧です。
 (1) 2020年「光回線は値段で選ぶ」では後悔する ←宅内工事の状況も説明しています。
 (2) NURO光の開通までWiFiルーターを格安レンタルできる
 (3) NURO光の屋外工事の状況をご紹介。その日に開通!
 (4) 光回線開通!実測するとNURO光はやっぱり速かった
 (5) ネット上のNURO光紹介特典は個人情報がもれないの?