🐈

VSCodeとdevcontainerでPythonの開発環境を作る

2022/12/02に公開

pyenvなんていらなかった

下記リポジトリに最低限のファイルをまとめてみましたので、ご活用いただければ幸いです。

リポジトリをcloneし、VSCodeでReopen in Containerするだけで、Pythonが開発可能なdevcontainerが起動します。

以下、蛇足ですが説明です。

前提

VSCodeや拡張機能のインストール、Dockerの導入などは済んでいることが前提となります。VSCode Remoteの導入については下記の公式記事などを適宜ご覧ください。

中身

compose.yml

compose.yml
services:
  app:
    build: .
    volumes:
      - ../:/app:cached
    command: sleep infinity

devcontainer.json

devcontainer.json
{
  "name": "python remote development",
  "dockerFile": "Dockerfile",
  // ここで指定した拡張機能はcontainer内で実行するVSCodeでインストールされます。
  // build時に他の拡張機能をインストールしておきたい場合は、
  // その拡張機能のIdentifierをここに追記してください。
  "extensions": [
    "ms-python.python"
  ]
}

Dockerfile

Dockerfile
# imageは使いたいバージョン、ディストリビューションなどに変更することができます。
FROM python:3.12-rc-buster

WORKDIR /app

COPY ./requirements.txt /app

# 事前にインストールしておきたいライブラリがある場合はrequirements.txtに記述しておくと、build時にインストールします。
RUN pip install -r requirements.txt

ご注意

tkinter等を用いたGUI開発を行う場合はホストOSによってやり方も異なり、けっこうハードルが上がります。ここでは詳細は割愛し、参考記事のご紹介のみにとどめます。

まとめ

Pythonの開発でライブラリを揃えるなど環境を共有したいとき、requirements.txtをシェアしたりpipenvを用いる方法もありますが、devcontainerならこれらのファイルを共有すれば、あとはVSCodeとDockerがよしなに環境を作ってくれます。便利ですね!

ではまた!

Discussion