Ambiente de Execução em Python: venv, source, deactivate e Pipenv

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 deactivate ao alternar de projeto.
  • Mantenha requirements.txt ou Pipfile.lock sob 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

ConceitoFunçãoExemplo
venvCria ambiente virtual isoladopython -m venv venv
source/activateAtiva o ambientesource ./venv/bin/activate
deactivateDesativa o ambientedeactivate
requirements.txtLista dependênciaspip freeze > requirements.txt
PipenvGerencia ambiente e dependênciaspipenv install / pipenv shell
.envConfigurações/segredosDEBUG=True, DATABASE_URL=...

Veja também (links internos)

Referências (links externos)

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima