Módulo 6 - Ambientes virtuais e pip

Criando um ambiente virtual no Windows

11 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 01/07/2026

O que você vai aprender

  • Criar um ambiente virtual com python -m venv .venv.
  • Ativar e desativar o ambiente no Windows.
  • Reconhecer o ambiente ativo pelo prefixo no terminal.
  • Entender o que a pasta do ambiente virtual contém.

Criar o ambiente em um comando

Criar um ambiente virtual é mais simples do que parece. Primeiro, abra o Prompt de Comando ou o PowerShell e entre na pasta do seu projeto. Depois, rode um único comando. Ele chama o módulo venv, que já vem com o Python, e pede para montar o ambiente numa pasta chamada .venv. O ponto na frente do nome é uma convenção: indica uma pasta de apoio, que fica meio discreta. Você poderia dar outro nome, mas .venv é o padrão que quase todo mundo usa, então vale seguir.

cd C:\Projetos\meu-projeto
python -m venv .venv

Entre na pasta do projeto e crie o ambiente virtual chamado .venv.

Depois de alguns segundos, o comando termina em silêncio, sem mensagem de sucesso, e você vê uma pasta .venv nova dentro do projeto. Silêncio aqui é boa notícia: quer dizer que deu certo. Se aparecer um erro dizendo que python não foi reconhecido, o Python provavelmente não está no PATH do Windows, e vale voltar ao módulo de preparação do ambiente do Curso de Python Básico. Em alguns computadores o comando é py -m venv .venv em vez de python; os dois funcionam quando o Python está instalado corretamente.

Ativar e desativar no Windows

Criar o ambiente não basta: você precisa ativá-lo para que o terminal passe a usar aquela despensa. No Windows, o comando de ativação aponta para um script dentro de .venv\Scripts. Depois de ativar, repare que o começo da linha do terminal ganha um (.venv) na frente. Esse prefixo é o seu sinal visual de que o ambiente está ligado. Enquanto ele estiver ali, todo python e todo pip que você rodar usam a despensa do projeto, e não a global.

.venv\Scripts\activate
# o terminal passa a mostrar (.venv) no comeco da linha
deactivate
# volta ao normal, ambiente desligado

Ativar liga a despensa do projeto; deactivate desliga e volta ao Python global.

Desativar é ainda mais fácil: digite deactivate e aperte Enter. O prefixo (.venv) some e o terminal volta a usar o Python global. Você não precisa desativar para fechar o computador; fechar o terminal já encerra a sessão. O importante é lembrar que a ativação vale só para aquela janela de terminal. Se você abrir uma nova, precisa ativar de novo antes de trabalhar no projeto. Essa é uma das confusões mais comuns de quem está começando: instalar um pacote com o ambiente desativado e depois não achá-lo no projeto.

O que a pasta .venv guarda

Vale espiar o que existe dentro de .venv, nem que seja uma vez, para tirar o mistério. A pasta guarda uma cópia enxuta do Python e o espaço onde os pacotes daquele projeto serão instalados. No Windows, você encontra a subpasta Scripts, com os executáveis do ambiente (o python e o pip daquela despensa) e os scripts de ativação. Há também a pasta Lib, onde os pacotes instalados vão morar, e um arquivo de configuração que aponta para o Python de origem. Nada disso você edita à mão; o Python cuida de tudo.

Item dentro de .venvPara que serve
Scripts\activateScript que ativa o ambiente na sessão atual
Scripts\python.exeO Python isolado deste projeto
Scripts\pip.exeO pip que instala pacotes só nesta despensa
Lib\site-packagesOnde os pacotes instalados ficam guardados
pyvenv.cfgConfiguração que liga o ambiente ao Python de origem

O essencial dentro da pasta .venv no Windows.

Um ponto prático: essa pasta .venv não deve ir para o controle de versão. Ela é pesada, específica do seu computador e pode ser recriada a qualquer momento com um comando. Em projetos de verdade, o nome .venv entra no arquivo .gitignore justamente para ficar de fora. O que você versiona não é a despensa, e sim a lista do que ela contém, o requirements.txt, tema de uma aula à frente. Guardar isso agora poupa confusão: a pasta é descartável, a lista é preciosa.

Teste rápido

Você abriu um terminal novo e o pacote do projeto some. O mais provável é que:

Perguntas frequentes

Por que o nome .venv com ponto na frente?
É uma convenção. O ponto sinaliza uma pasta de apoio, discreta, e .venv virou o nome padrão que a maioria dos projetos usa. Você poderia escolher outro nome no comando, mas seguir o padrão facilita, porque ferramentas e tutoriais assumem esse nome.
O comando é python ou py no Windows?
Depende de como o Python foi instalado. Em muitas máquinas, python -m venv .venv funciona; em outras, py -m venv .venv. Os dois chamam o mesmo módulo venv. Se um der erro de comando não reconhecido, tente o outro antes de qualquer outra coisa.
A ativação falhou no PowerShell com um aviso de política. E agora?
É um comportamento de segurança do PowerShell com scripts. O caminho mais simples é ativar pelo Prompt de Comando (cmd), onde .venv\Scripts\activate costuma rodar direto. Se preferir insistir no PowerShell, consulte a orientação oficial sobre política de execução antes de mudar configurações do sistema.
Preciso desativar o ambiente antes de desligar o computador?
Não. Fechar o terminal já encerra a sessão e, com ela, a ativação. O deactivate serve para voltar ao Python global sem fechar a janela. Lembre que, ao abrir um terminal novo, você precisa ativar o ambiente de novo para trabalhar no projeto.
Posso ter vários ambientes virtuais no computador?
Sim, e é o esperado: um por projeto. Cada pasta de projeto tem o seu .venv com os próprios pacotes e versões. Eles não conversam entre si, o que é justamente o ponto. Você ativa o ambiente do projeto em que está trabalhando naquele momento.
Devo colocar a pasta .venv no Git?
Não. Ela é pesada, específica do seu computador e recriável em segundos. O padrão é adicionar .venv ao .gitignore. O que se versiona é o requirements.txt, a lista de dependências, para que outra pessoa recrie o mesmo ambiente com um comando.

Fontes

Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.