Przejdź do treści
Biblioteka skilli
DevOps i chmura · Integracja z narzędziem

python

/python

Konfiguruje kontenery deweloperskie dla projektów Python: funkcja Python, środowiska wirtualne, instalacja narzędzi, JupyterLab oraz linter i formatter.

Repozytorium
agent-skills ↗
Licencja
MIT
Ostatnia zmiana repozytorium
09.06.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
13
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
2
Przestarzałość

Brak sygnałów. Repozytorium zmienione 09.06.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Konfiguruje kontenery deweloperskie dla projektów Python: funkcja Python, środowiska wirtualne, instalacja narzędzi, JupyterLab oraz linter i formatter.

Oryginalny opis (EN)

Use when configuring dev containers for Python projects. Covers the Python feature, virtual environments, tool installation, JupyterLab, and linter/formatter setup. USE FOR: Python dev container setup, Python feature configuration, virtual environments, JupyterLab, pip/uv/poetry tooling DO NOT USE FOR: .NET dev containers (use dotnet), TypeScript dev containers (use typescript), general devcontainer.json (use devcontainer)

Jak działa

  1. Overview
  2. Python Feature
  3. Full Example
  4. Using the Base Image vs Feature
  5. Virtual Environments
  6. JupyterLab
  7. Poetry / uv / PDM
  8. Best Practices
Sekcje z nagłówków SKILL.md, w oryginale · 112 linii, 393 słów
Podgląd SKILL.md
---
name: python
description: |
    Use when configuring dev containers for Python projects. Covers the Python feature, virtual environments, tool installation, JupyterLab, and linter/formatter setup.
    USE FOR: Python dev container setup, Python feature configuration, virtual environments, JupyterLab, pip/uv/poetry tooling
    DO NOT USE FOR: .NET dev containers (use dotnet), TypeScript dev containers (use typescript), general devcontainer.json (use devcontainer)
license: MIT
metadata:
  displayName: "Dev Container — Python"
  author: "Tyler-R-Kendrick"
compatibility: claude, copilot, cursor
references:
  - title: "Dev Containers Specification"
    url: "https://containers.dev/"
  - title: "Python Official Documentation"
    url: "https://docs.python.org/3/"
---

# Dev Container — Python

## Overview
Configure a dev container for Python development using the official Python feature or base image. Supports version selection, tool installation via pipx, virtual environments, and JupyterLab.

## Python Feature
```jsonc
{
  "features": {
    "ghcr.io/devcontainers/features/python:1": {
      "version": "3.12"
    }
  }
}
```

### Feature Options
| Option | Default | Description |
|--------|---------|-------------|
| `version` | `latest` | Python version (`3.12`, `3.11`, `latest`, `os-provided`, `none`) |
| `installTools` | `true` | Install tools listed in `toolsToInstall` via pipx |
| `toolsToInstall` | `flake8,autopep8,black,yapf,mypy,pydocstyle,pycodestyle,bandit,pipenv,virtualenv,pytest,pylint` | Comma-separated tools |
| `installJupyterlab` | `false` | Install JupyterLab |
| `optimize` | `false` | Compile Python with optimizations (slower build) |
| `installPath` | `/usr/local/python` | Installation directory |

## Full Example
```jsonc
{
  "name": "Python 3.12 Development",
  "image": "mcr.microsoft.com/devcontainers/python:3.12",
  "features": {
    "ghcr.io/devcontainers/features/github-cli:1": {}
  },
  "forwardPorts": [8000],
  "portsAttributes": {
    "8000": { "label": "App", "onAutoForward": "notify" },
    "8888": { "label": "Jupyter", "onAutoForward": "notify" }
  },
  "postCreateCommand": "pip install -r requirements.txt",
  "customizations": {
    "vscode": {
      "extensions": [
        "ms-python.python",
        "ms-python.vscode-pylance",
        "ms-python.black-formatter",
        "charliermarsh.ruff"
      ],
      "settings": {
        "python.defaultInterpreterPath": "/usr/local/bin/python",
        "[python]": {
          "editor.defaultFormatter": "charliermarsh.ruff",
          "editor.formatOnSave": true
        }
      }
    }
  }
}
```

## Using the Base Image vs Feature
| Approach | When to Use |
|----------|-------------|
| `"image": "mcr.microsoft.com/devcontainers/python:3.12"` | Python-only projects |
| Base image + `ghcr.io/devcontainers/features/python:1` | Multi-language projects |

## Virtual Environments
```jsonc
{
  "postCreateCommand": "python -m venv .venv && . .venv/bin/activate && pip install -r requirements.txt",
  "containerEnv": {
    "VIRTUAL_ENV": "/workspace/.venv",
    "PATH": "/workspace/.venv/bin:${containerEnv:PATH}"
  }
}
```

## JupyterLab
```jsonc
{
  "features": {
    "ghcr.io/devcontainers/features/python:1": {
      "version": "3.12",
      "installJupyterlab": true
    }
  },
  "forwardPorts": [8888],
  "postStartCommand": "jupyter lab --ip=0.0.0.0 --no-browser --NotebookApp.token=''"
}
```

## Poetry / uv / PDM
For modern package managers, install them in `postCreateCommand`:
```jsonc
{
  "postCreateCommand": "pip install uv && uv sync",
  "containerEnv": {
    "UV_LINK_MODE": "copy"
  }
}
```

## Best Practices
- Use the dedicated `mcr.microsoft.com/devcontainers/python` image for Python-only projects.
- Pin the Python version to a minor release (`3.12`, `3.11`) for reproducibility.
- Prefer Ruff over separate flake8/black installs — it replaces multiple tools with a single fast one.
- Use `postCreateCommand` for `pip install` so dependencies are cached in Codespaces prebuilds.
- Set `python.defaultInterpreterPath` in VS Code settings to avoid interpreter selection prompts.
- For data science projects, enable `installJupyterlab` in the feature and forward port 8888.
- Use `containerEnv` to configure `VIRTUAL_ENV` if your project expects a venv.
Pliki w paczce (13)
  • AGENTS.md 3 KB
  • README.md 1 KB
  • SKILL.md 4 KB
  • metadata.json 1 KB
  • rules/_sections.md 1 KB
  • rules/_template.md 1 KB
  • rules/python-for-data-science-projects-enable-installjupyterlab-in.md 1 KB
  • rules/python-pin-the-python-version-to-a-minor-release-3.md 1 KB
  • rules/python-prefer-ruff-over-separate-flake8-black-installs.md 1 KB
  • rules/python-set-python.md 1 KB
  • rules/python-use-containerenv-to-configure-virtual-env-if-your.md 1 KB
  • rules/python-use-postcreatecommand-for-pip-install-so-dependencies.md 1 KB
  • rules/python-use-the-dedicated-mcr.md 1 KB

Wersje

RepozytoriumWynikLicencja
Ta strona · Tyler-R-Kendrick/agent-skills100MIT
ericrisco/rsc-harness100MIT
xobotyi/cc-foundry100MIT
nimadorostkar/Claude-Skills-collection100MIT
ahgraber/skills100CC0-1.0
appwrite/claude-plugin100BSD-3-Clause
claude-dev-suite/claude-dev-suite100MIT
G1Joshi/Agent-Skills100MIT
chrishuffman5/domain-expert100MIT

Migawka bazy z 28.10.2026 · wersja paczki ef4b20a7eed6 (skrót SHA-256 całej paczki)

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100typescript
    Konfiguruje kontenery deweloperskie dla projektów TypeScript i Node.js: funkcja Node, menedżery pakietów, rozszerzenia ESLint i Prettier oraz serwery deweloperskie frontendu.
  • 88dev-loop-dev-container
    Pomaga przygotować kontenery deweloperskie: plik devcontainer.json, Dev Containers w VS Code i Codespaces oraz powtarzalne środowiska pracy.
  • 100dotnet
    Konfiguruje dev containers dla projektów .NET: funkcja dotnet, wersje SDK, workloads, rozszerzenia C# Dev Kit i konfiguracja NuGet.
  • 100devcontainer-setup
    Dodaje devcontainer lub izolowane środowisko deweloperskie do repozytorium, które go nie ma, dla Pythona, Node i TypeScript, Rust, Go lub ich połączenia.
  • 90dev-environments
    Konfiguruje lokalne i zdalne środowiska programistyczne, w tym docker compose i devcontainer, oraz je utrzymuje.
  • 100system-environment-setup
    Konfiguruje środowiska deweloperskie i produkcyjne w sposób spójny i powtarzalny: Docker Compose, pliki .env, dev containers i infrastruktura jako kod.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.