
Passo 1 de 8
Preparar uma origem dedicada ao projeto
Crie um projeto mínimo em um ambiente virtual exclusivo e registre o resultado inicial do programa para comparações posteriores.
Trilha de aprendizado · Nível 5 · Tutorial 7
Registrar as dependências de um ambiente dedicado ao projeto e usá-las para recriar e conferir outro ambiente, reconhecendo os limites dessa reprodução.
Preparar uma origem dedicada ao projeto
Crie um projeto mínimo em um ambiente virtual exclusivo e registre o resultado inicial do programa para comparações posteriores. 2 min
Interpretar pacotes e versões no arquivo
Leia requisitos com versões fixadas e reconheça por que dependências não importadas diretamente também podem aparecer no arquivo. 2 min
Gerar e revisar o requirements.txt
Capture os pacotes instalados no ambiente de origem, salve o inventário na pasta do projeto e revise as versões registradas. 3 min
Instalar os requisitos em outro ambiente
Crie um ambiente de destino separado e instale nele os requisitos registrados, mantendo o ambiente original intacto para comparação. 3 min
Conferir dependências e funcionamento
Compare as versões instaladas, verifique a consistência declarada das dependências e execute o programa no ambiente recriado. 3 min
Registrar o contexto da reprodução
Registre a versão do Python, o sistema operacional e a arquitetura da origem para complementar o inventário de pacotes. 2 min
Reconhecer os limites do inventário
Entenda por que versões fixadas ajudam a repetir uma instalação, mas não garantem ambientes equivalentes em máquinas e plataformas diferentes. 2 min
Aplicação final: comprovar a recriação
Reúna as evidências da prática, diferencie o que cada verificação demonstrou e formule uma conclusão compatível com os resultados obtidos. 3 min

Passo 1 de 8
Crie um projeto mínimo em um ambiente virtual exclusivo e registre o resultado inicial do programa para comparações posteriores.
O inventário de um ambiente inclui os pacotes instalados nele, mesmo que o programa não os utilize. Por isso, usaremos uma .venv exclusiva para este projeto. Um ambiente compartilhado com outros projetos poderia adicionar pacotes desnecessários à reprodução.
A prática será feita no seu computador, com editor, terminal, Python e acesso ao índice de pacotes para instalar o Rich.

No ambiente dedicado, o conjunto instalado permanece relacionado ao projeto. No compartilhado, pacotes de outros trabalhos podem contaminar o futuro inventário.
Crie uma pasta nova para evitar o reaproveitamento de uma .venv antiga. Use a opção correspondente ao seu sistema e instale o Rich a partir da fonte que você já conferiu.
Execute somente o bloco correspondente ao seu sistema.
# Windows (PowerShell ou Prompt de Comando)
mkdir recriar-ambiente
cd recriar-ambiente
py -m venv .venv
.venv\Scripts\python.exe -m pip install rich
# macOS ou Linux
mkdir recriar-ambiente
cd recriar-ambiente
python3 -m venv .venv
.venv/bin/python -m pip install richNa pasta recriar-ambiente, crie o arquivo app.py com este conteúdo:
from rich import print
def exibir_mensagem():
print("[bold green]Origem pronta para recriação.[/bold green]")
exibir_mensagem()Execute o programa com o interpretador da .venv. O Rich apenas formata a mensagem; o programa não acessa a rede durante essa execução. Guarde o resultado observado como referência para a comparação com o ambiente que será recriado depois.
Use somente o comando correspondente ao seu sistema.
# Windows
.venv\Scripts\python.exe app.py
# macOS ou Linux
.venv/bin/python app.pyExemplo
O terminal deve mostrar:
Origem pronta para recriação.
A frase pode aparecer em verde e em negrito. Cores e estilos podem variar conforme o terminal.
Qual mensagem apareceu ao executar app.py? Informe também se você observou cor ou outro estilo visual.
Escreva pelo menos 20 caracteres (0/20).
Você possui um ambiente antigo com pacotes de vários projetos e a .venv nova criada nesta prática. Qual é a melhor origem para o futuro inventário?

Passo 2 de 8
Leia requisitos com versões fixadas e reconheça por que dependências não importadas diretamente também podem aparecer no arquivo.
O requirements.txt é um arquivo de texto com requisitos que o pip pode consumir. Ele não contém o código do projeto, não copia o ambiente virtual e não guarda os próprios pacotes.
Cada linha descreve algo que deve estar disponível. Por isso, o arquivo pode citar tanto a distribuição escolhida para o projeto quanto distribuições usadas por ela.

O programa pode importar somente rich, enquanto o arquivo também registra distribuições necessárias ao funcionamento dela.
Exemplo
markdown-it-py==3.0.0
mdurl==0.1.2
Pygments==2.18.0
rich==13.9.4As versões do seu ambiente podem ser diferentes.
Em rich==13.9.4, rich identifica a distribuição e 13.9.4 é a versão específica exigida. O operador == faz essa fixação.
As outras linhas podem representar dependências transitivas. Mesmo sem serem importadas em app.py, elas podem ser necessárias para que Rich funcione.
A linha, isoladamente, não informa se a dependência é direta ou transitiva. Nem a posição no arquivo resolve isso: a classificação depende do contexto do projeto e dos metadados das distribuições.
Relacione os elementos de um requirements.txt às interpretações corretas.
Toque em um item e depois no par correspondente.

Passo 3 de 8
Capture os pacotes instalados no ambiente de origem, salve o inventário na pasta do projeto e revise as versões registradas.
O comando python -m pip freeze lista os pacotes instalados no ambiente associado àquele interpretador. O resultado inclui tanto o pacote escolhido para o projeto quanto suas dependências transitivas.
Ele não analisa os imports de app.py: apenas inventaria o que está instalado. Por isso, a origem deve continuar sendo o ambiente dedicado preparado anteriormente. Algumas ferramentas de empacotamento podem ser omitidas por padrão; não interprete essa ausência como uma análise do código.

A captura parte do interpretador da origem; o terminal direciona o inventário para um arquivo na pasta do projeto.
No terminal, entre na pasta do projeto e execute o comando correspondente ao seu sistema. Os caminhos abaixo selecionam diretamente o Python de .venv, sem depender de qual ambiente está ativado.
O símbolo > é um redirecionamento do terminal: ele salva a saída de pip freeze em requirements.txt. Não é o programa Python que escreve esse arquivo.
Execute na pasta que contém app.py e .venv:
.venv\Scripts\python.exe -m pip freeze > requirements.txtExecute na pasta que contém app.py e .venv:
.venv/bin/python -m pip freeze > requirements.txtAtenção
O operador > substitui o conteúdo de um requirements.txt existente. Antes de executar o comando, confira a pasta atual e preserve qualquer arquivo anterior que ainda seja necessário.
Abra requirements.txt no editor e confirme que ele está na pasta do projeto, ao lado de app.py, e não dentro de .venv.
Procure linhas no formato nome==versão. É esperado encontrar mais pacotes do que o programa importa diretamente, pois o inventário também registra dependências transitivas. As versões do seu arquivo podem ser diferentes das versões ilustrativas abaixo.
Não substitua o seu arquivo por este exemplo; revise os valores realmente capturados no seu ambiente.
markdown-it-py==3.0.0
mdurl==0.1.2
Pygments==2.18.0
rich==13.9.4Dica
O caminho usado no comando deve apontar para .venv, o ambiente de origem dedicado ao projeto. Se você usou outro interpretador, apague a captura incorreta e gere novamente depois de conferir o comando.
Complete a parte que falta: python -m pip freeze ___ requirements.txt
Execute a captura no seu computador. Depois, registre duas linhas do arquivo gerado, identifique a versão de cada pacote e explique como o comando confirma que o inventário veio de .venv.
Escreva pelo menos 40 caracteres (0/40).

Passo 4 de 8
Crie um ambiente de destino separado e instale nele os requisitos registrados, mantendo o ambiente original intacto para comparação.
Mantenha o código do projeto e o requirements.txt na pasta do projeto. Em seguida, crie um ambiente separado chamado .venv-recriado.
Não copie nem modifique a pasta .venv original. Ela continua sendo a origem para comparação. O novo ambiente será preenchido pelo pip a partir dos requisitos registrados.
O arquivo requirements.txt orienta a instalação no ambiente novo. Ele não transforma a pasta .venv original em um modelo copiável.

O mesmo projeto mantém a origem intacta e recebe um ambiente virtual novo como destino.
Os comandos abaixo usam o interpretador da .venv para criar o destino com a mesma instalação do Python usada na origem. Depois, chamam diretamente o interpretador de .venv-recriado, sem depender de qual ambiente está ativado.
Se suas pastas tiverem outros nomes, ajuste somente os caminhos correspondentes.
.\.venv\Scripts\python.exe -m venv .venv-recriado
.\.venv-recriado\Scripts\python.exe -m pip --version
.\.venv-recriado\Scripts\python.exe -m pip install -r requirements.txt./.venv/bin/python -m venv .venv-recriado
./.venv-recriado/bin/python -m pip --version
./.venv-recriado/bin/python -m pip install -r requirements.txtEm python -m pip install -r requirements.txt, a opção -r manda o pip ler os requisitos desse arquivo e instalar os pacotes no ambiente associado ao python chamado.
Use um destino novo. Esse comando instala ou ajusta requisitos, mas não remove automaticamente todos os pacotes extras que já existam em um ambiente antigo.
Atenção
Antes de consumir um arquivo recebido de outra pessoa, abra-o e confirme os pacotes, versões e eventuais fontes de instalação indicadas. Verifique também se a origem do arquivo e dos pacotes é a esperada. Um ambiente virtual separa instalações, mas não torna um pacote desconhecido seguro.
Dica
Uma instalação concluída mostra apenas que o pip terminou essa etapa. A consistência das dependências e o funcionamento do programa serão verificados separadamente.
Coloque as ações na ordem adequada, preservando a .venv original:
Execute os comandos adequados ao seu sistema. Depois, relate qual comando instalou os requisitos, qual caminho apareceu em pip --version e se a .venv original permaneceu intacta.
Escreva pelo menos 40 caracteres (0/40).

Passo 5 de 8
Compare as versões instaladas, verifique a consistência declarada das dependências e execute o programa no ambiente recriado.
A conferência do ambiente recriado reúne três evidências:
requirements.txt.app.py produz no destino o mesmo resultado de referência observado na origem.Essas evidências se complementam. Uma instalação concluída não garante, sozinha, que os metadados estejam consistentes nem que o programa funcione.

Cada verificação responde a uma pergunta diferente sobre o ambiente recriado.
Na pasta do projeto, use diretamente o interpretador de .venv-recriado. Compare a coluna de versões com as linhas nome==versão de requirements.txt. As versões do seu arquivo podem ser diferentes das mostradas em exemplos.
Execute o comando correspondente ao seu sistema operacional.
# Windows
.venv-recriado\Scripts\python.exe -m pip list
# macOS/Linux
.venv-recriado/bin/python -m pip listExemplo
Se requirements.txt contém rich==13.9.4, procure a distribuição rich na listagem do destino e confira se sua versão é 13.9.4. Repita a conferência para as demais linhas, inclusive para dependências transitivas que app.py não importa diretamente.
pip check consulta os metadados dos pacotes instalados no destino. Ele informa dependências ausentes ou versões incompatíveis com as exigências declaradas por esses pacotes.
Ele não compara automaticamente o ambiente com requirements.txt e não executa app.py.
Use novamente o interpretador inequívoco do ambiente recriado.
# Windows
.venv-recriado\Scripts\python.exe -m pip check
# macOS/Linux
.venv-recriado/bin/python -m pip checkExemplo
Uma saída como No broken requirements found. indica que o pip não encontrou problemas nas dependências declaradas dos pacotes instalados.
Mensagens ilustrativas como pacote-a requires pacote-b, which is not installed ou pacote-a has requirement pacote-b>=3, but you have pacote-b 2.5 apontam, respectivamente, uma dependência ausente ou uma versão incompatível. O texto exato pode variar conforme a versão do pip.
Execute o programa com o interpretador do destino e compare a mensagem formatada com a referência obtida no ambiente de origem. As cores ainda podem variar entre terminais.
# Windows
.venv-recriado\Scripts\python.exe app.py
# macOS/Linux
.venv-recriado/bin/python app.pyRegistre o que você observou no seu ambiente recriado: cite as versões conferidas, a saída de pip check e o resultado da execução de app.py.
Escreva pelo menos 80 caracteres (0/80).

Passo 6 de 8
Registre a versão do Python, o sistema operacional e a arquitetura da origem para complementar o inventário de pacotes.
O requirements.txt registra requisitos de pacotes, mas não informa a versão do interpretador Python, o sistema operacional nem a arquitetura da máquina. Esses fatores podem explicar por que a mesma lista instala ou funciona de maneira diferente em outro computador.

O requirements.txt descreve os pacotes; uma nota de contexto registra informações da plataforma de origem.
Na pasta do projeto, execute somente os comandos correspondentes ao seu sistema. -VV mostra informações completas da versão e da construção do Python. O módulo platform, da biblioteca padrão, informa o sistema, sua versão ou release e a arquitetura reconhecida pela plataforma.
Comandos para consultar o ambiente de origem .venv:
.venv\Scripts\python.exe -VV
.venv\Scripts\python.exe -c "import platform; print('Sistema:', platform.system()); print('Versão/release:', platform.release()); print('Arquitetura:', platform.machine())"Comandos para consultar o ambiente de origem .venv:
.venv/bin/python -VV
.venv/bin/python -c "import platform; print('Sistema:', platform.system()); print('Versão/release:', platform.release()); print('Arquitetura:', platform.machine())"Dica
Valores como AMD64, x86_64, arm64 ou aarch64 podem aparecer conforme a plataforma. Copie o valor observado, pois ele é a evidência disponível naquele ambiente.
No editor, crie manualmente um arquivo textual como contexto-origem.txt, na pasta do projeto e fora de .venv. Preencha o modelo com as saídas obtidas. Essa nota ajuda a investigar diferenças futuras, mas não garante que outro ambiente será equivalente.
Exemplo
Contexto da origem
Python: [saída completa de python -VV]
Sistema operacional: [saída de platform.system()]
Versão/release do sistema: [saída de platform.release()]
Arquitetura informada: [saída de platform.machine()]
Observação: o requirements.txt registra os pacotes instalados, mas não preserva estas informações do interpretador e da plataforma.
Registre os dados reais do seu ambiente de origem. Ao final, explique em uma frase por que essa nota complementa o requirements.txt.
Escreva pelo menos 100 caracteres (0/100).

Passo 7 de 8
Entenda por que versões fixadas ajudam a repetir uma instalação, mas não garantem ambientes equivalentes em máquinas e plataformas diferentes.
O pip freeze registra o estado observado no ambiente: distribuições instaladas e suas versões. Isso ajuda a solicitar novamente versões específicas, mas sua saída não é um lockfile completo.
Uma linha como rich==13.9.4 não registra a versão do Python, a plataforma, o artefato exato usado na instalação, dependências externas ao Python nem uma verificação de integridade. Por isso, repetir todas as linhas não garante ambientes equivalentes em qualquer máquina.

O mesmo nome e a mesma versão podem levar a artefatos diferentes conforme Python, sistema operacional e arquitetura — ou podem nem estar disponíveis para um dos contextos.
Exemplo
Considere pacote-exemplo==2.4.0 em três situações:
Além disso, nome==versão não comprova, por si só, a integridade, a procedência ou a segurança do artefato obtido.
Atenção
Se a recriação falhar, preserve o requirements.txt original. Confira a mensagem recebida, o contexto de Python e plataforma, a fonte consultada e a disponibilidade da versão. Atualizar vários pacotes indiscriminadamente pode produzir outro ambiente sem explicar por que o original falhou.
Relacione cada situação ao limite mais diretamente envolvido.
Toque em um item e depois no par correspondente.
Se dois ambientes instalaram todas as linhas nome==versão do mesmo requirements.txt, está comprovado que eles são equivalentes e funcionarão da mesma forma em qualquer plataforma.

Passo 8 de 8
Reúna as evidências da prática, diferencie o que cada verificação demonstrou e formule uma conclusão compatível com os resultados obtidos.
A recriação é sustentada por um conjunto de evidências: o inventário revisado da origem, a instalação em um ambiente novo, a consistência indicada pelo pip check, a execução manual do programa e o contexto da máquina. Nenhuma dessas evidências, isoladamente, garante equivalência universal.
Use o mesmo projeto e os dois ambientes já preparados. Não instale novos pacotes nem crie um terceiro ambiente.
O fluxo parte de uma origem dedicada, registra os requisitos, instala-os em um destino novo e reúne verificações diferentes antes da conclusão. O código, o requirements.txt e a nota de contexto permanecem fora das pastas descartáveis dos ambientes virtuais.

A conclusão depende da combinação entre requisitos, destino, consistência, execução observada e contexto.
Coloque as etapas na ordem adequada para uma futura recriação.
Produza um relato curto da prática. Inclua: linhas e versões relevantes do requirements.txt; identificação do ambiente de destino; resultado do pip check; resultado observado ao executar app.py; versão do Python e plataforma da origem; e uma limitação que ainda permanece.
Se a instalação não foi concluída, registre em qual etapa ocorreu a falha e o contexto disponível. Nesse caso, não declare sucesso.
Escreva pelo menos 120 caracteres (0/120).
Resumo
Uma boa conclusão descreve o que foi observado, sem transformar evidência local em garantia universal.
Parabéns! Você concluiu: Recriar ambientes a partir de requirements.txt
100 XP
Você concluiu este nível!
Agora você vai iniciar: Exceções, arquivos e persistência
Tratar exceções com try, except, else e finallyInterpretar um traceback com várias chamadas e tratar falhas esperadas sem esconder erros inesperados, distinguindo os caminhos de execução dos blocos de tratamento.Milhares de cursos online em vídeo, ebooks e áudiobooks.
Para testar seus conhecimentos no decorrer dos cursos online
Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail
Baixe nosso aplicativo pelo QR Code ou pelos links abaixo:.
+ de 10 milhões
de alunos
Certificado grátis e
válido em todo o Brasil
60 mil exercícios
gratuitos
4,8/5 classificação
nas lojas de apps
Cursos gratuitos em
vídeo, ebooks e audiobooks