pip e Ambientes Virtuais
A biblioteca padrão cobre muitos cenários, mas projetos reais quase sempre usam bibliotecas de terceiros —
requestspara HTTP,pandaspara dados,flaskpara aplicativos web. Esta lição ensina como instalar e gerenciar estas bibliotecas, e como usar ambientes virtuais para isolar dependências entre projetos.
1. pip — Gerenciador de Pacotes do Python
pip é o gerenciador de pacotes oficial do Python, para instalar, desinstalar e gerenciar bibliotecas de terceiros.
# Instalar um pacote
pip install requests
# Instalar uma versão específica
pip install requests==2.31.0
# Desinstalar um pacote
pip uninstall requests
# Listar pacotes instalados
pip list
# Ver informações do pacote
pip show requests
pip install nome_pacote automaticamente baixa e instala do PyPI.
2. requirements.txt
Quando seu projeto depende de múltiplas bibliotecas de terceiros, use requirements.txt para registrá-las:
requests==2.31.0
flask==3.0.0
pandas==2.0.0
numpy==1.24.0
# Instalar todas as dependências (execute após clonar um projeto)
pip install -r requirements.txt
# Gerar requirements.txt (todos os pacotes no ambiente atual)
pip freeze > requirements.txt
Exemplo: Chamando uma API com requests (Dificuldade ⭐⭐)
# Instale primeiro: pip install requests
import requests
# Chama uma API pública de clima
try:
response = requests.get(
"https://api.open-meteo.com/v1/forecast",
params={
"latitude": -23.5505,
"longitude": -46.6333,
"current_weather": True
},
timeout=10
)
if response.status_code == 200:
data = response.json()
weather = data["current_weather"]
print(f"Temperatura atual em São Paulo: {weather['temperature']}°C")
print(f"Velocidade do vento: {weather['windspeed']} km/h")
else:
print(f"Requisição falhou: {response.status_code}")
except requests.exceptions.RequestException as e:
print(f"Erro de rede: {e}")
3. Ambientes Virtuais (venv)
Diferentes projetos podem precisar de versões diferentes do mesmo pacote. Ambientes virtuais resolvem isso — cada projeto tem seu próprio ambiente isolado.
# Criar um ambiente virtual
python -m venv myenv
# Ativar o ambiente virtual
# Windows:
myenv\Scripts\activate
# macOS/Linux:
source myenv/bin/activate
# Após ativação, o prompt mostra (myenv) no início
# Pacotes instalados agora afetam apenas este ambiente
# Desativar o ambiente virtual
deactivate
Fluxo de Trabalho
# 1. Criar diretório do projeto
mkdir meu_projeto
cd meu_projeto
# 2. Criar ambiente virtual
python -m venv venv
# 3. Ativar
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate
# 4. Instalar dependências
pip install requests flask
# 5. Registrar dependências
pip freeze > requirements.txt
# 6. Desativar quando terminar
deactivate
# Outra pessoa clonando o projeto:
# python -m venv venv
# source venv/bin/activate (ou equivalente Windows)
# pip install -r requirements.txt
4. Referência Rápida de Bibliotecas de Terceiros Comuns
| Biblioteca | Propósito | Comando de Instalação | Descrição |
|---|---|---|---|
requests |
Requisições HTTP | pip install requests |
Forma mais popular de fazer requisições HTTP |
flask |
Framework web | pip install flask |
Framework web Python leve |
pandas |
Análise de dados | pip install pandas |
Processamento de dados nível Excel |
numpy |
Computação numérica | pip install numpy |
Operações de array de alto desempenho |
beautifulsoup4 |
Web scraping | pip install beautifulsoup4 |
Extrair dados de HTML |
pillow |
Processamento de imagem | pip install pillow |
Abrir, editar e salvar imagens |
pytest |
Framework de teste | pip install pytest |
Framework de teste Python mais popular |
Exemplo: Lendo CSV com pandas (Dificuldade ⭐⭐)
# Instale primeiro: pip install pandas
import pandas as pd
# Ler arquivo CSV
df = pd.read_csv("alunos.csv")
print(df.head()) # Primeiras 5 linhas
print(f"Linhas: {len(df)}, Colunas: {len(df.columns)}")
print(df.describe()) # Resumo estatístico
Casos de Uso Comuns
- Inicialização de projeto: Crie venv → instale dependências → comece a codificar.
- Gerenciamento de dependências: Bloqueie versões com
requirements.txtpara consistência entre equipe e produção. - Isolamento de ambiente: Diferentes projetos usam diferentes versões da mesma biblioteca (ex.: Projeto A usa Flask 2.x, Projeto B usa Flask 3.x).
- Implantação com um clique:
pip install -r requirements.txtinstala todas as dependências de uma vez.
❓ Perguntas Frequentes
P: Qual a diferença entre
pip installepython -m pip install? R: Produzem o mesmo resultado.python -m pipespecifica explicitamente qual interpretador Python usar, o que é mais seguro em ambientes com múltiplas versões Python. Crie o hábito de usarpython -m pip install. P: O ambiente virtual deve ficar dentro ou fora do diretório do projeto? R: Tipicamente dentro da raiz do projeto, nomeadovenvou.venv. Isso torna óbvio para outros desenvolvedores. Lembre-se de adicionarvenv/ao.gitignore— ambientes virtuais não devem ser commitados no controle de versão. P:pip freeze > requirements.txtlista todos os pacotes, incluindo dependências de dependências. Não é demais? R:pip freezelista tudo. É comum manter apenas os pacotes de nível superior e remover dependências indiretas. Alternativamente, usepipreqs, que apenas escaneia pacotes que são realmente importados em seu código.
📖 Resumo
pip install nome_pacoteinstala pacotes de terceiros;pip uninstallremoverequirements.txtregistra dependências do projeto;pip install -r requirements.txtinstala todas- Ambientes virtuais (
venv) isolam dependências para cada projeto - Fluxo de trabalho: crie venv → ative → pip install → desenvolva → freeze → commit
- Bibliotecas de terceiros comuns:
requests,flask,pandas,numpy,beautifulsoup4
📝 Atividades
-
Básico (Dificuldade ⭐): Crie um ambiente virtual, ative-o, instale a biblioteca
requests, confirme compip list, depois desative. -
Intermediário (Dificuldade ⭐⭐): Use a biblioteca
requestspara chamar https://api.github.com/repos/python/cpython e obtenha informações sobre o repositório CPython. Exiba o nome do repositório, número de estrelas, forks e data da última atualização. -
Desafio (Dificuldade ⭐⭐⭐): Crie um diretório de projeto, inicialize um ambiente virtual, instale
flaskerequests, gere umrequirements.txtcompip freeze. Depois delete o ambiente virtual e reconstrua do zero usandorequirements.txt— verifique se funciona.



