Instalação de Pacotes Python no Linux

LinuxBeginner
Pratique Agora

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!