Para ativar um ambiente virtual Python, você roda um script dentro da pasta do ambiente: no Windows é .venvScriptsactivate, e no Linux e no macOS é source .venv/bin/activate. Quando dá certo, o nome do ambiente aparece entre parênteses no começo da linha do terminal.
Esse passo é o que faz o python e o pip usarem as bibliotecas do projeto, e não as do sistema. Abaixo você vê como criar o ambiente, ativar em cada sistema, conferir se funcionou e sair dele.
Criar o ambiente antes de ativar
A ativação só funciona se o ambiente já existir. Abra o terminal na pasta do projeto e rode:
python -m venv .venv
O comando cria uma pasta chamada .venv com uma cópia do interpretador e um espaço próprio para os pacotes. O nome é livre, mas .venv e venv são os mais usados e muitos editores os reconhecem sozinhos.
Em alguns sistemas Linux e no macOS, o comando pode ser python3 em vez de python. Se o primeiro não for encontrado, tente o segundo. No Debian e no Ubuntu, às vezes é preciso instalar o pacote do módulo venv pelo gerenciador de pacotes do sistema.
Como ativar em cada sistema
Windows
No Prompt de Comando, use:
.venvScriptsactivate
No PowerShell, o script é outro:
.venvScriptsActivate.ps1
Linux e macOS
No Bash ou no Zsh, use:
source .venv/bin/activate
Em todos os casos, o prompt passa a mostrar (.venv) na frente. Para sair do ambiente, digite deactivate, que é igual nos três sistemas.

Conferir se o ambiente está ativo
O prefixo no prompt é a pista mais rápida, mas dá para confirmar de outras formas:
- where python no Windows, ou which python no Linux e no macOS: o caminho deve apontar para dentro da pasta .venv.
- pip –version: o caminho mostrado também deve estar dentro do ambiente.
- pip list: num ambiente novo, a lista vem quase vazia.
Com tudo certo, instale os pacotes com pip install nome-do-pacote. Eles ficam só naquele projeto, sem mexer em outros.
Erros comuns na ativação
O problema mais frequente no Windows é o PowerShell bloquear o script, com uma mensagem dizendo que a execução de scripts está desabilitada. Isso é uma política de segurança do sistema. Você pode usar o Prompt de Comando, que não tem essa trava, ou ajustar a política só para o seu usuário. Antes de mudar qualquer configuração, leia a documentação da Microsoft sobre o assunto e entenda o que está liberando.
Outros casos que aparecem bastante:
- Arquivo não encontrado: você está numa pasta diferente da que contém o .venv. Use cd para entrar na pasta certa.
- Pacote instalado, mas o import falha: o ambiente provavelmente não estava ativo na hora do pip install.
- O editor usa outro Python: no VS Code ou no PyCharm, selecione o interpretador que está dentro do .venv.
- Pasta movida ou renomeada: ambientes virtuais guardam caminhos fixos. Apague a pasta e crie de novo.

Hábitos que evitam dor de cabeça
Crie um ambiente por projeto e não o suba para o Git. Coloque .venv no arquivo .gitignore e registre as dependências com pip freeze > requirements.txt. Quem baixar o projeto recria tudo com pip install -r requirements.txt.
Se o seu projeto Python conversa com um backend pronto, vale ler também sobre o Appwrite, uma plataforma de backend segura. Qualquer que seja a escolha, manter as dependências isoladas por projeto facilita a vida na hora de testar e publicar.
Perguntas frequentes
Preciso ativar o ambiente toda vez que abro o terminal?
Sim. A ativação vale só para a sessão do terminal em que você rodou o comando. Ao abrir outra janela, ative de novo. Alguns editores fazem isso automaticamente quando o interpretador do projeto está selecionado.
Dá para rodar o Python do ambiente sem ativar?
Dá. Chame o executável direto, por exemplo .venv/bin/python script.py no Linux e no macOS, ou .venvScriptspython script.py no Windows. É útil em scripts automatizados.
Qual a diferença entre venv e virtualenv?
O venv já vem com o Python e atende a maioria dos casos. O virtualenv é um pacote separado, com alguns recursos extras. Para começar, o venv basta.
Mais em Desenvolvimento & DevOps
Como o algoritmo Spotify define suas músicas e você pode usar isso a seu favor
Como comprar um domínio que já existe sem pagar fortuna
CORS: o que é e como corrigir erros de origem cruzada
Como ler código de outros devs sem perder a cabeça
ChatGPT para programar: como usar sem cair em armadilhas
k6: a ferramenta que salva seu site de ficar lento — e tem 4 significados secretos







