
Ambientes de Execução em Python: venv, source, deactivate e Pipenv
Aprender Python vai além de escrever print("Hello, world!"). Sendo assim, para evoluir como desenvolvedor, é crucial entender o ambiente de execução em Python — o espaço onde seu projeto “vive”, carrega bibliotecas e executa o código com as versões corretas de cada dependência.
Instalar pacotes diretamente no sistema pode funcionar por um tempo; porém, logo surgem conflitos de versão e o famoso “funciona na minha máquina”. Portanto, a solução está no isolamento de ambientes, começando pelo venv nativo e, depois, avançando para o Pipenv.
O que é um ambiente de execução em Python?
Trata-se de um espaço isolado em que cada projeto mantém seu próprio interpretador e suas dependências. Assim, versões diferentes da mesma biblioteca podem coexistir em máquinas e projetos distintos sem interferência, garantindo reprodutibilidade e previsibilidade.
Criando ambientes virtuais com venv
1) Criar o ambiente
python -m venv venv
Note que, quando o comando cria a pasta venv/ com um interpretador dedicado e diretórios para bibliotecas, termos a seguinte estrutura:
meu_projeto/
├── venv/
│ ├── bin/ (Linux/macOS)
│ ├── Scripts/ (Windows)
│ ├── lib/
│ └── pyvenv.cfg
├── main.py
└── requirements.txt
2) Ativar o ambiente
Além disso, é importante saber que, o processo de Ativar informa ao shell que os comandos python e pip devem usar o ambiente do projeto — não o global.
Linux/macOS (bash/zsh):
source ./venv/bin/activate
Windows (PowerShell):
.\venv\Scripts\Activate.ps1
Windows (CMD):
venv\Scripts\activate
Finalmente, ao ativar, o prompt exibirá algo como (venv), indicando que você está dentro do ambiente.
3) Desativar o ambiente
Mas, ao trocar de projeto ou encerrar o trabalho, desative para voltar ao Python global:
deactivate
4) Instalar bibliotecas e registrar dependências
Primeiro, com o ambiente ativo, instale pacotes com o pip normalmente:
pip install requests
Em seguida, para compartilhar as dependências do projeto:
pip freeze > requirements.txt
E, finalmente, para recriar o mesmo conjunto em outra máquina:
pip install -r requirements.txt
Por que isolar o ambiente?
- Evita conflitos de versões entre projetos.
- Garante reprodutibilidade em qualquer máquina.
- Mantém o SO limpo, sem pacotes globais desnecessários.
- Facilita debug e integração com IDEs.
- Prepara para CI/CD, Docker e implantação profissional.
Evoluindo para o Pipenv
Por fim, depois de dominar o venv, você pode adotar o Pipenv, que une gerenciamento de ambiente e controle de dependências.
Instalação
pip install pipenv
Criar e ativar o ambiente
pipenv install
pipenv shell
O Pipenv cria o ambiente e mantém dois arquivos:
Pipfile— lista as dependências (e as de desenvolvimento).Pipfile.lock— trava versões para reprodutibilidade exata.
Para sair do shell do Pipenv:
exit
Instalar dependências
pipenv install requests
pipenv install pytest --dev
Ao clonar o projeto, basta executar pipenv install para reconstruir o mesmo ambiente.
Variáveis de ambiente com .env
Guarde segredos e configurações (chaves de API, URLs de banco) fora do código. Então, o Pipenv carregará automaticamente um arquivo .env ao executar o projeto:
# .env
DEBUG=True
DATABASE_URL=sqlite:///data.db
import os
debug = os.getenv("DEBUG", "False")
db = os.getenv("DATABASE_URL")
print("Debug:", debug, "| DB:", db)
Execute com:
pipenv run python app.py
Integração com IDEs (PyCharm e VS Code)
PyCharm: Settings → Project → Python Interpreter → Add Interpreter → Pipenv Environment. O editor detecta o Pipfile automaticamente.
VS Code: Ctrl + Shift + P → Python: Select Interpreter e selecione o ambiente do projeto (venv ou Pipenv). Assim, a IDE usa exatamente os pacotes corretos e o debug fica limpo.
Boas práticas para um workflow profissional
- Crie um ambiente por projeto e ative-o com
source/activate. - Use
deactivateao alternar de projeto. - Mantenha
requirements.txtouPipfile.locksob versão. - Separe segredos em
.env. - Automatize testes/CI com o mesmo ambiente do time.
Conclusão
Dominar o ambiente de execução em Python é um marco na jornada de quem sai do básico e passa a construir software confiável. Então, comece com venv, aprenda a ativar com source/activate e a desativar com deactivate. Por fim, evolua para o Pipenv para ganhar reprodutibilidade, controle de versões e praticidade no dia a dia.
Resumo rápido
| Conceito | Função | Exemplo |
|---|---|---|
venv | Cria ambiente virtual isolado | python -m venv venv |
source/activate | Ativa o ambiente | source ./venv/bin/activate |
deactivate | Desativa o ambiente | deactivate |
requirements.txt | Lista dependências | pip freeze > requirements.txt |
| Pipenv | Gerencia ambiente e dependências | pipenv install / pipenv shell |
.env | Configurações/segredos | DEBUG=True, DATABASE_URL=... |
