Python Devcontainer Setup for VSCode
Looking for assistance with VSCode Devcontainers and Python
Use Python interpreter in Docker container in VS Code
Build a node and python dev container image.
Videos
I'm starting to look into devcontainers with VSCode and I am looking for a container configuration (Dockerfile/devcontainer.json) that sets up a good Python development environment with some recommended extensions and settings (e.g. paths, venv, fromatting, linting) for beginners (its been some time since I was doing Python development), but that's not over-complicated.
I have the following resources that I have pieced together as a starting point and could use some input and feedback on these (I'm not sure if everything makes sense) and what to improve for a good development experience. Particularly I'm looking for input on the VSCode extensions / settings.
docker-compose.dev.yaml
version: '3.9'
networks: app-dev-network:
driver: bridge
name: app-dev-network
services:
backend:
image: backend-dev-image
container_name: backend-dev-container
build:
context: ./
dockerfile: ./Dockerfile.dev
volumes:
- ..:/workspace:cache
networks:
- app-dev-network
ports:
- target: 5000
published: 5000
command: sleep infinityDockerfile.dev
ARG VARIANT="3.11-bookworm"
FROM mcr.microsoft.com/devcontainers/python:${VARIANT}
RUN apt-get update && \
apt-get upgrade --yes --no-install-recommends && \
apt-get clean
ENV PYTHONUNBUFFERED=1devcontainer.json
{
"name": "Backend",
"dockerComposeFile": [
"./docker-compose.dev.yaml"
],
"service": "backend",
"workspaceFolder": "/workspace",
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
],
"settings": {
"python.pythonPath": "${workspaceFolder}/.venv/bin/python",
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
}
}
},
"postCreateCommand": "pip3 install --user -r requirements.txt"
}