Python Dependencies Manager
Idiomas: Português (Brasil) · English · Español · Français
Extensão para o VS Code que gerencia as dependências Python da .venv do projeto com pip, no espírito do gerenciador de pacotes do PyCharm.
Status: v1.0.0 — release estável. Checklist manual: docs/superpowers/plans/manual-checklist.md.
O que faz
- Detecta
requirements.txt na raiz da pasta aberta
- Notifica e sugere instalar as dependências somente se ainda não existir
.venv
- Se não existir
.venv, cria com o interpretador da extensão Python
- Garante pip no ambiente (
ensurepip se faltar) e roda pip install -r requirements.txt
- Mostra os pacotes na Activity Bar (webview com busca)
- Instalar / desinstalar / atualizar pacotes avulsos
- Após instalar um pacote, pergunta se deve atualizar o
requirements.txt com pip freeze
- Logs detalhados no canal Python Dependencies Manager
Pré-requisitos
- Visual Studio Code (ou fork compatível)
- Extensão Python instalada
- Interpretador Python selecionado (
Python: Select Interpreter)
- Módulo venv disponível (Debian/Ubuntu:
sudo apt install python3-venv ou python3.12-venv)
- Projeto aberto como uma pasta (raiz com
requirements.txt / .venv)
Como usar
Fluxo automático (projeto novo)
- Abra a pasta do projeto com
requirements.txt na raiz e sem .venv
- Aparece a notificação para instalar
- Escolha:
- Install — cria
.venv se faltar e instala as dependências
- Not now — não pergunta de novo nesta sessão
- Don’t ask again — não pergunta de novo neste workspace
Se já existir .venv, a notificação não é exibida. O comando manual continua disponível.
View de pacotes (instalados)
Na Activity Bar → Python Dependencies:
- Filtro fixo no topo: filtra apenas os pacotes já instalados na
.venv
- Botões Update / Remove em cada linha
- Toolbar: Refresh, Install Package (+), Install from requirements.txt
Instalar pacotes (botão + / QuickPick PyPI)
Aberto pelo + Install Package (toolbar ou Command Palette) — separado do filtro da lista:
- Busca no PyPI (ex.:
django- → ≥50 resultados)
- Última versão à direita, resumo abaixo
- Seleção múltipla (marque vários) → Enter instala todos de uma vez
- Texto livre (
name==1.0, git, etc.)
- Depois: opção de
pip freeze → requirements.txt
Command Palette
Categoria Python Dependencies:
| Comando |
Descrição |
Install from requirements.txt |
Fluxo completo (sempre disponível) |
Refresh Packages |
Recarrega a lista da .venv |
Install Package |
Busca PyPI multi-select + pip install |
Feedback e logs
- Notificações de progresso durante venv/pip
- View → Output → Python Dependencies Manager (logs com timestamp e escopo:
flow, venv, pip, process, etc.)
Escopo atual (e o que fica de fora)
Dentro do MVP: pasta única, requirements.txt + pip + .venv na raiz, busca PyPI, freeze opcional.
Fora do MVP (por enquanto): monorepo, Poetry/uv/conda, sync fino linha a linha no manifesto, “update all”.
Design: docs/superpowers/specs/2026-07-16-python-dependencies-manager-design.md.
Desenvolvimento
pnpm install
pnpm run compile
# ou: pnpm run watch
No VS Code: F5 (Run Extension).
Pasta de teste: fixtures/sample-project/ (com requirements.txt).
pnpm run lint
pnpm test
- Abra este repositório no VS Code
pnpm install && pnpm run compile
- F5 → janela Extension Development Host
- File → Open Folder →
fixtures/sample-project (não a raiz da extensão)
- Extensão Python + Select Interpreter
- Notificação (se não houver
.venv) ou comando Install from requirements.txt
- Activity Bar → Python Dependencies
- Output → Python Dependencies Manager
Solução de problemas
| Sintoma |
Causa comum |
O que fazer |
| F5 trava no preLaunchTask |
task watch |
F5 usa npm: compile |
| View vazia |
extensão não ativou |
Abrir pasta com requirements.txt/.venv ou rodar um comando |
| Erro de venv / ensurepip |
falta python3-venv |
sudo apt install python3.12-venv |
| Sem interpretador |
Python extension |
Instalar Python e selecionar interpretador |
| Avisos ConfigCat no log |
VS Code / GitHub |
Ignorar — não são desta extensão |
Empacotar:
pnpm run package
# npx @vscode/vsce package
Estrutura (alta nível)
src/
extension.ts # activate, commands, auto-prompt
installFlow.ts # python → venv → pip install -r
packagesWebview.ts # view + busca PyPI / lista instalados
packageInstallQuickPick.ts
pypiClient.ts # índice simple + JSON do PyPI
pipService.ts / venvService.ts / preferences.ts / ...
docs/superpowers/specs/ # design
docs/superpowers/plans/ # plano + checklist
media/ # ícone da Activity Bar
fixtures/sample-project/ # projeto de teste
Changelog
Ver CHANGELOG.md.
Licença
MIT (campo license no package.json).