python
/python
Konfiguruje kontenery deweloperskie dla projektów Python: funkcja Python, środowiska wirtualne, instalacja narzędzi, JupyterLab oraz linter i formatter.
- Autor
- Tyler-R-Kendrick ↗
- Repozytorium
- agent-skills ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 09.06.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 13
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 2
Brak sygnałów. Repozytorium zmienione 09.06.2026, bez odwołań do wycofanych modeli i API.
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
- Overview
- Python Feature
- Full Example
- Using the Base Image vs Feature
- Virtual Environments
- JupyterLab
- Poetry / uv / PDM
- Best Practices
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
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · Tyler-R-Kendrick/agent-skills | 100 | MIT |
| ericrisco/rsc-harness | 100 | MIT |
| xobotyi/cc-foundry | 100 | MIT |
| nimadorostkar/Claude-Skills-collection | 100 | MIT |
| ahgraber/skills | 100 | CC0-1.0 |
| appwrite/claude-plugin | 100 | BSD-3-Clause |
| claude-dev-suite/claude-dev-suite | 100 | MIT |
| G1Joshi/Agent-Skills | 100 | MIT |
| chrishuffman5/domain-expert | 100 | MIT |
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.