Introdução
Pacotes Python estendem a funcionalidade do Python, fornecendo ferramentas e bibliotecas especializadas para diversas tarefas. Instalar e gerenciar esses pacotes de forma eficiente é uma habilidade essencial para desenvolvedores Python.
Neste laboratório, você aprenderá a usar o pip, o instalador padrão de pacotes Python, em um sistema Linux. Você configurará seu ambiente, instalará pacotes, gerenciará dependências e explorará diferentes opções de instalação. Essas habilidades são fundamentais para qualquer desenvolvedor Python que trabalhe em ambientes Linux.
Configurando Seu Ambiente Python
Nesta etapa, você preparará um ambiente Python limpo para gerenciamento de pacotes. Você aprenderá a usar ambientes virtuais, que são essenciais para gerenciar dependências de projetos sem conflitos.
Verificando Python e pip
Primeiro, vamos verificar se Python e pip estão disponíveis:
python3 --version
pip3 --version
Você deverá ver as informações de versão do Python 3.10.x e do pip. Se o pip não estiver instalado, instale-o:
sudo apt update
sudo apt install python3.10-venv -y
sudo apt upgrade python3-pip -y
Criando um Ambiente Virtual
Ambientes virtuais criam espaços Python isolados para cada projeto. Isso evita conflitos de pacotes entre diferentes projetos:
cd ~/project
python3 -m venv myproject_env
source myproject_env/bin/activate
Seu prompt agora deverá mostrar (myproject_env), indicando que você está no ambiente virtual. Dentro de um ambiente virtual, você pode usar pip em vez de pip3.
Criando um Arquivo de Requisitos (Requirements File)
Crie um arquivo requirements.txt para rastrear as dependências do seu projeto:
touch requirements.txt
Este arquivo ajudará você a recriar o mesmo ambiente em diferentes sistemas.
Instalando Pacotes Python
Nesta etapa, você aprenderá a instalar pacotes Python tanto individualmente quanto usando um arquivo de requisitos. Certifique-se de que você está em seu ambiente virtual (você deverá ver (myproject_env) em seu prompt).
Instalando Seu Primeiro Pacote
Vamos instalar o pacote requests, que é comumente usado para fazer requisições HTTP:
pip install requests
Você verá o progresso do download e da instalação. Verifique a instalação:
pip list
Você deverá ver requests na lista de pacotes instalados.
Usando um Arquivo de Requisitos (Requirements File)
Agora vamos especificar múltiplos pacotes com versões exatas em seu arquivo de requisitos. Abra-o:
nano requirements.txt
Adicione o seguinte conteúdo:
requests==2.31.0
numpy==1.24.3
pandas==2.0.3
Salve com Ctrl+O, Enter, e depois saia com Ctrl+X.
Essa abordagem garante ambientes consistentes em diferentes sistemas, especificando versões exatas dos pacotes.
Instalando a partir do Arquivo de Requisitos
Instale todos os pacotes do seu arquivo de requisitos:
pip install -r requirements.txt
Como requests já está instalado, o pip o manterá ou o atualizará para corresponder à versão especificada. Os novos pacotes (numpy e pandas) serão instalados do zero.
Verifique se todos os pacotes estão instalados:
pip list | grep -E "(requests|numpy|pandas)"
Você deverá ver os três pacotes com suas versões especificadas.
Gerenciando Versões de Pacotes
Nesta etapa, você aprenderá operações essenciais de gerenciamento de pacotes: verificar informações de pacotes, atualizar pacotes e instalar versões específicas.
Visualizando Informações de Pacotes
Verifique informações detalhadas sobre um pacote instalado:
pip show requests
Isso exibe a versão, dependências, licença e informações de localização da instalação.
Instalando Versões Específicas
Às vezes, você precisa de uma versão diferente por questões de compatibilidade. Instale uma versão específica do numpy:
pip install numpy==1.23.5
Verifique a mudança de versão:
pip show numpy | grep Version
Você deverá ver a versão 1.23.5 em vez de 1.24.3.
Atualizando Pacotes
Atualize um pacote para sua versão mais recente:
pip install --upgrade pandas
Isso atualiza o pandas para a versão mais nova disponível.
"Congelando" Seu Ambiente (Freezing Your Environment)
Gere uma lista completa de seus pacotes e versões atuais:
pip freeze > current_env.txt
Visualize o arquivo gerado:
cat current_env.txt
Este arquivo pode ser usado para recriar exatamente o mesmo ambiente em outro local usando pip install -r current_env.txt.
Trabalhando com Ambientes Virtuais e Dependências
Nesta etapa final, você aprenderá as melhores práticas para ambientes virtuais e como gerenciar dependências de projetos de forma eficaz.
Desativando e Reativando
Pratique a desativação do seu ambiente virtual:
deactivate
Seu prompt deverá retornar ao normal (sem (myproject_env)). Tente executar pip list:
pip list
Você verá apenas os pacotes instalados no sistema. Agora, reative seu ambiente:
source ~/project/myproject_env/bin/activate
Observe como seus pacotes de projeto retornam quando você reativa.
Entendendo Dependências
Verifique quais pacotes dependem de outros:
pip show pandas
Observe a linha "Requires" para ver as dependências do pandas. É por isso que gerenciar ambientes é crucial - instalar um pacote frequentemente instala muitos outros.
Limpeza e Melhores Práticas
Crie um arquivo de requisitos limpo com apenas suas dependências diretas:
nano ~/project/requirements.txt
Substitua o conteúdo apenas pelos pacotes que você precisa explicitamente (não suas dependências):
requests==2.31.0
numpy==1.23.5
pandas==2.0.3
Salve e saia. Quando outra pessoa instalar a partir deste arquivo, o pip cuidará automaticamente das dependências.
Compartilhando Seu Ambiente
Seu ambiente está agora pronto para ser compartilhado. Qualquer pessoa pode recriá-lo usando:
pip install -r requirements.txt
Esta é a base do desenvolvimento Python reproduzível.
Resumo
Neste laboratório, você dominou os fundamentos do gerenciamento de pacotes Python no Linux:
- Configuração de Ambiente: Criou e gerenciou ambientes virtuais Python para isolamento de projetos
- Instalação de Pacotes: Instalou pacotes individualmente e usando arquivos de requisitos com versões específicas
- Gerenciamento de Versões: Atualizou pacotes, instalou versões específicas e gerou snapshots de ambiente
- Melhores Práticas: Aprendeu a manter listas de dependências limpas e a compartilhar ambientes reproduzíveis
Essas habilidades são essenciais para qualquer desenvolvedor Python. Ambientes virtuais evitam conflitos entre projetos, enquanto o gerenciamento adequado de dependências garante que seu código funcione de forma consistente em diferentes sistemas.
Você está agora pronto para gerenciar pacotes Python com confiança em qualquer ambiente de desenvolvimento Linux!



