VSCode/WSL上の開発環境構築 Pyenv / Python

今回はWSL環境下にPythonの開発環境を導入して、ホストのWindows側に導入した
VSCodeからソースコードの編集、デバッグ実行を行えるように設定します。

Pythonのインストール方法にはいくつかの方法がありますが
今回は Pyenvを用いたオーソドックスな方法を使用します。

本記事は

  • Basic1
  • Basic2
    の手順でWSL及びVSCodeが設定されていることを前提としています。
mac os上で開発環境の整備

普段は可能な限り使用を避けているmac os 環境ですが、
なぜかプログラミング学習などを始めた人に採用されがちなので笑

mac os上で一通りの開発環境を整える手順を紹介します。

fedora/WSL2 で gnomeデスクトップ環境を利用する

WSLは基本的には開発者向けにCUI環境を提供しており、
X Serverを動作させることで簡易的なGUIアプリも立ち上げ可能ではありますが、
WSL2の環境で gnomeのデスクトップ環境をフルで立ち上げるのは結構難しいです。

試行錯誤の結果、意外とすんなり動作することが分かったので
備忘録として設定手順を残しておきます。

WSL2は非常に便利で、もはや離れられない程お世話になっておりますが、
大きな問題点の1つとして systemedが利用できない点が挙げられます。

Linuxシステムでは起動直後に全てのプロセスのfork元となる pid 1 のinitが立ち上がります。
Redhat系を中心とするモダンなディストリビューションではinitプログラムとして
systemedが pid 1で起動し、各種デーモンやシェルを起動してシステムを利用可能な状態にしてくれます。

一方、WSL2の環境では initとして Microsoftが用意した最低限の機能を持つ
カスタム init が起動するようになっており、 systemedは無効になっています。
このため systemedに依存したデーモンやその管理ツールが動作しません。
systemctl などが使えなずサーバの立ち上げ方に困ることはよくあると思います。

gnomeもsystemedに依存しているため、単に gnomeのデスクトップ環境を導入しても
起動に失敗してしまいます。

環境

  • Windows 10 Pro ver 20H2
  • WSL2
  • fedora remix @ Store ( fedora 33 までupgrade 済み)
  • X410 (X server)
VSCode/WSL上の開発環境構築 Basic1

Pengwin導入後、今までになくWindowsと仲良くなってます笑
メインのデスクトップマシンはFedoraが動いていますが、
ノートPCはすべてWindows10に移行して満足度はかなり高いです。

Windowsで開発していると、Linuxアレルギーの人からも
開発環境について尋ねられる機会も増えたので
せっかくですし開発環境の構築方法を一通り書いておきます。

C,C++ / C#(dotnet) / node.js / Python / ruby … などなどの開発に
利用できるある程度コンパクトで取り回しのいい設定方法です。

使用する環境は以下の通り

  • Windows 10 (Pro / 19H1)
  • Ubuntu / WSL( version 1)
  • VSCode