Ferramentas de desenvolvimento

requirements.txtAnalisar e organizar

Examine as declarações e suas condições para exportar o grupo escolhido.

requirements.txt

Entrada de dependências

Grupo selecionado

O texto é processado no navegador, sem consultar pacotes, acessar URLs ou enviar dados.

Formato e escopo

Em pyproject.toml: Só são extraídos project.dependencies, project.optional-dependencies e build-system.requires. Outras tabelas de dependências são ignoradas.

100 KiB UTF-8 · 1000 dependências · 4096 caracteres por declaração · sem avaliar marcadores.

Entrada ou opções alteradas. Analise novamente antes de exportar.

Após juntar alterações, um pacote pode aparecer várias vezes no arquivo de requisitos. O nome sozinho não basta para apagar uma linha: extras, faixas de versão ou condições podem ser diferentes.

requirements.txt aparece aqui dividido em campos. As dependências Python de pyproject.toml ficam separadas em grupos de execução, extras e construção, sem criar um ambiente.

Por que conferir requirements.txt aqui?

As condições e a origem acompanham cada declaração.

Preserve as condições

Nome, extras, restrições, URL e marcadores de ambiente aparecem separadamente, junto da declaração original. O sistema do navegador não determina quais dependências devem ser mantidas.

Uma declaração se divide em campos sem perder a ligação com sua condição

Remova repetições sem adivinhar versões

Ao organizar requirements.txt, a prévia conta duplicatas exatas e mudanças de ordem. Nomes iguais com restrições diferentes permanecem; os grupos TOML são escolhidos separadamente.

Duas fichas idênticas viram uma, enquanto uma condição diferente continua separada

Três verificações antes de exportar

01

Separe troca de formato e de texto

Mudar o formato mantém sua entrada. Para usar o exemplo correspondente, revise a substituição antes de aplicar. Depois, é possível desfazer uma vez.

02

Confira o grupo inicial

A seleção começa em project.dependencies, mesmo vazio. Extras e build-system.requires precisam ser escolhidos explicitamente; não há mudança automática para dependências de construção.

03

Observe se o resultado está atualizado

A análise automática espera 350 ms após a edição. Desligue para usar o botão ou Ctrl/Cmd + Enter. Alterações bloqueiam a exportação até um novo resultado ficar pronto.

Entenda os campos de cada declaração

Campos que você pode conferir

O JSON reúne nome original e normalizado, extras, restrições, marcadores, referências diretas e posição de origem. A escrita da versão é verificada, mas nenhuma versão candidata é testada contra uma faixa.

TOML com localização de erros

Todo o documento passa pelo analisador TOML 1.0. Os campos aceitos devem ser listas de strings. Uma declaração inválida aponta para a string original; os schemas das demais tabelas tool não são validados.

Grupo inteiro na exportação

JSON mantém os campos e o grupo; TXT contém uma declaração por linha. A tela mostra 50 registros por vez, mas copiar e baixar sempre inclui o grupo confirmado completo.

O alcance real da verificação

Não resolve uma instalação
Não consulta PyPI, instala pacotes, resolve dependências transitivas ou corrige conflitos. Também não analisa vulnerabilidades ou licenças. Uma sintaxe válida não garante que todas as declarações sejam instaláveis juntas.
Subconjunto explícito do pip
Uma declaração PEP 508 com nome por linha. Linhas vazias e comentários do pip são ignorados. -r, -c, -e, índices, opções hash, caminhos sem nome, continuação de linhas e expansão de variáveis são rejeitados.
Marcadores não são executados
Variáveis padrão, extra, comparações, parênteses e and/or têm a sintaxe verificada. extras e dependency_groups, próprios de arquivos de bloqueio, não são aceitos. Referências diretas ficam como texto, sem abrir URLs.
Somente os campos padrão
São extraídos project.dependencies, project.optional-dependencies e build-system.requires. Dependências dinâmicas geram erro; Poetry e dependency-groups não são extraídos. Nomes de extras usam minúsculas, números e hífens simples.
Organização sem reescrever a origem
A ordem usa o nome normalizado e a declaração original. Só saem declarações inteiramente iguais, no mesmo grupo, após retirar espaços externos. Comentários ficam na entrada, fora da exportação; uma nova análise reinicia a organização.
Limites e falha do documento inteiro
Até 100 KiB UTF-8, 1000 dependências, 4096 caracteres por declaração e 32 níveis de parênteses nos marcadores. Um erro em qualquer campo aceito impede a exportação de todo o documento.

Perguntas sobre requirements.txt

Posso adicionar comentários a um arquivo de requisitos do pip?

Sim. Uma linha iniciada por #, ou um # precedido por espaço, inicia um comentário. O fragmento # colado a uma URL continua fazendo parte dela. Comentários ficam na entrada, mas não aparecem na lista extraída.

O requirements.txt pode indicar dependências conforme a versão do Python?

Sim, por exemplo importlib-metadata; python_version < "3.10". O analisador verifica e preserva o marcador. Quem decide se a condição se aplica é o instalador no ambiente Python de destino, não o navegador.

Ainda preciso de requirements.txt quando uso pyproject.toml?

Depende do fluxo. As dependências do projeto podem estar em pyproject.toml, enquanto requirements.txt serve como entrada do instalador ou lista do ambiente. Esta ferramenta extrai um grupo padrão; não gera um arquivo de bloqueio resolvido nem substitui a configuração de construção.

Posso permitir versões diferentes no requirements.txt?

Você pode usar faixas como package>=1,<2 ou declarações com condições diferentes. Restrições distintas são mantidas na remoção de duplicatas. Várias linhas do mesmo pacote não são alternativas automáticas e podem ser incompatíveis.

Como resolver um conflito entre versões de pacotes?

Confira as restrições contraditórias com o gerenciador de pacotes no ambiente de destino. Esta página mostra declarações e condições, mas não calcula uma combinação compatível. Remover uma duplicata exata não resolve restrições contraditórias.

Resultado inesperado?

Confira o grupo selecionado

Volte ao requirements.txt, selecione o grupo desejado e confira o resultado confirmado antes de usar em outra etapa.