問題
windows上でVSCodeでDjango開発しようとしたら仮想環境上(venv上)のpythonを選択することができない=venvのpythonがリスト上に出てこない。
環境
windows11
wsl 2
ubuntu20.04
VScode1.65.1
python3.8.10
django4.0.3
解決策
結論から言うとVSCodeとWSLつなげてからselect interpreterする。
- WSLを立ち上げる。
- WSLのターミナルで開発したい該当ディレクトリに移動
- コマンドラインに
code .
を入力
これでVSCodeとWSLがつながった状態で起動できる。
この違いは知っておこう
2度と同じことを繰り返さないために、この違いは知っておく必要がある。
VSCode on Windows
単純にVSCodeをインストール、起動して、Windows上のフォルダを開いたら…
左下は何も表示されず、WSLに繋がっておらず、ターミナルもPower Shellだったりするし・・・
かつView・Command Palette・Pyhton:select Interpreterしようにも仮想環境上のpythonが出てこない・・・
VSCode on WSL
WSLを起動、該当する作業ディレクトリへ移動、そこからコマンドラインにcode .
を打ち込むと・・・
左下にはWSLに繋がっているよと表示され、ターミナルもbashとなり・・・
仮想環境上(venv)のpythonが表示される
作業ディレクトリの違い
-
Windows上のフォルダを開くと
/mnt/c/Users/ユーザー名/Documents/作業ディレクトリ
のように/mnt/c/
が付く -
WSL上だと
/home/ユーザー名
が初期値となっている
まとめ
単なる初心者の感想ではあるが、Windowsで開発環境を整えるときは、常にWSL上で作業をして、変にWindowsのDocumentsフォルダとか使わないほうが迷わなくて済むなぁと。