Article image
Carlos CGS
Carlos CGS28/04/2025 07:35
Compartilhe

#17 - Gerenciamento de Dependências com Pip e Virtualenv

  • #Python

image

🌌 Projeto CodeVerse Python - #17/2025

Fala Galera Dev! 👋

Quem está no mundo da programação e desenvolvimento com Python, já deve ter ouvido falar de pip e virtualenv. Mas o que exatamente são essas ferramentas, e por que elas são tão importantes para o dia a dia de quem programa?

Começarei apresentando o que é esse tal de PIP que nada mais é do que um gernecisador de pacotes python, além de entender o que é esse tal de Vitualenv, que nada mais é do que um isolador de ambientes. Mas não se preocupe se não entendeu essa explicação. Durante esse artigo vou explicar d euma forma bem simple so que são esses termos e como usarmso em nosso dia a dia.

Vem comigo que no final você vai entender como essas duas ferramentas salvam nosso universo Python diariamente!

🧰 O que é esse tal de "Pip" ( o “Tony Stark” dos pacotes)

Imagine que o pip é o Tony Stark: inteligente, prático, e sempre tem uma solução pronta na maleta. O pip é o gerenciador de pacotes do Python. Ele instala, atualiza e remove bibliotecas (os "gadgets") que você precisa no seu projeto. mas vamso dar um passo atrás e entender o que são pacotes.

🧩 O que são Pacotes e Bibliotecas em Python?

Imagina que você vai construir um carro. Você não precisa inventar uma roda nova toda vez. Ela já existe, alguém já projetou, testou e deixou prontinha pra usar.

No mundo da programação, isso é exatamente o que chamamos de bibliotecas e pacotes!

📚 Bibliotecas:

Uma biblioteca é um conjunto de funções e códigos prontos que resolvem um problema específico. É tipo um livro com várias receitas prontas pra você só seguir.

Por exemplo:

  • math → tem funções matemáticas como raiz quadrada, seno, cosseno.
  • random → gera números aleatórios com facilidade.

📦 Pacotes:

Um pacote é como uma caixinha que pode conter várias bibliotecas organizadas dentro. Ele pode ter pastas, módulos, arquivos… tudo organizadinho.

Todo pacote é uma forma mais estruturada de organizar bibliotecas.

Exemplo:

  • numpy é um pacote que contém várias bibliotecas internas pra trabalhar com números e arrays.
  • pandas é outro pacote que lida com tabelas e dados complexos.

🚗 Falando de uma outra forma:

  • Biblioteca = Receita pronta de bolo 🍰
  • Pacote = Livro de receitas 📖
  • Biblioteca = Uma roda pronta 🛞
  • Pacote = Um conjunto de peças pra montar o carro 🚗

🧰 Mas vamos voltar a falar do que é pip?

O pip (Python Installer Package) é uma ferramenta que te permite instalar pacotes prontos da comunidade Python, direto do repositório oficial PyPI (Python Package Index), repositório o qual você também pode escrever um pacote e submetê-lo ao repositório e ajudar a comunidade.

Sem o pip, seria como o Homem de Ferro ter que forjar cada peça da armadura do zero toda vez que fosse lutar!

🛠️ Como usar pip no dia a dia?

📦 Instalar pacotes:

pip install requests
Exemplo real: precisa consumir uma API? O pacote requests é seu J.A.R.V.I.S. para chamadas HTTP.

🧼 Desinstalar pacotes:

pip uninstall numpy

🔍 Ver o que está instalado:

pip list

🆙 Atualizar um pacote:

pip install --upgrade pandas
⚠️ Dica: sempre crie um arquivo requirements.txt com os pacotes usados:
pip freeze > requirements.txt

Isso ajuda a recriar seu ambiente em outro computador. Tipo clonar uma armadura da Stark Industries para seu outro computador ou para o computador do seu amigo para que ele consiga rodar seu código, neste arquivo você deve descrever a sbibliotecas usadas em su projeto 💥

🌀 Virtualenv – o “Doutor Estranho” dos universos isolados

Agora vamos falar de virtualenv, o mago supremo do isolamento de ambientes. 🧙♂️

🔮 O que é virtualenv?

Assim como o Doutor Estranho cria portais para realidades paralelas, o virtualenv cria ambientes isolados para seus projetos Python. Ou seja, cada projeto pode ter suas próprias versões de pacotes, sem interferir nos outros.

Explicando de uma forma bem prática, imagine o seguinte cenário: No começo do ano passado, você desenvolveu uma aplicação Python usando as bibliotecas mais atuais da época:

( Django 3.2 / Pandas 1.2 / NumPy 1.18 )

Até aí tudo certo, o projeto ficou show e foi entregue com sucesso pro cliente. Porém Avançando no tempo, você continuou estudando, atualizando seu sistema, e hoje (um ano depois), suas bibliotecas estão em versões mais novas, tipo:

( Django 5.0 / Pandas 2.1 / NumPy 1.25 )

🕰️ Mas aí o cliente entra em contato e pede uma manutenção: “Ei dev, adiciona essa funcionalidade nova pra mim?”

🚨 Problema: Se você simplesmente abrir o projeto antigo no seu ambiente atual, pode ser que nada funcione! Por quê? Porque seu sistema atual já tem bibliotecas novas que não são compatíveis com o código antigo.

💡 A solução mágica? virtualenv!

O virtualenv cria um ambiente isolado, como uma bolha protegida, um universo aparte do multiverso onde você pode instalar exatamente as versões antigas que aquele projeto precisa, sem bagunçar seu sistema atual.

Em suma a Virtualenv é como se você tivesse um guarda-roupa para cada projeto:

  • No projeto A, você usa roupa da moda de 2021.
  • No projeto B, roupa de 2024. E nada se mistura! 😄

Isso evita conflitos entre bibliotecas e te dá controle total do ambiente.

🧙♂️ Mas como consigo usar o virtualenv?

📦 Instalar o virtualenv (com pip):

pip install virtualenv

🌀 Criar um novo ambiente:

virtualenv nome-do-ambiente

▶️ Ativar o ambiente:

  • No Windows:
nome-do-ambiente\Scripts\activate
  • No Mac/Linux:
source nome-do-ambiente/bin/activate

🔻 Desativar:

deactivate

🧠 Curiosidade Dev:

Muitas plataformas de hospedagem de projetos Python (como Heroku, Vercel ou AWS Lambda) esperam que você use virtualenv para manter tudo organizado e separado. Ou seja, além de facilitar o desenvolvimento, ele te prepara pro mercado real, abaixo uma tabela mostrando os comandos principais do virtualenv:

image

Principais comandos do Virtualenv

✅ Concluindo... Superpoderes no seu dia a dia

Usar pip e virtualenv é como montar sua própria equipe de heróis da produtividade Python. O pip te entrega ferramentas prontas pra usar, como se fosse o Tony Stark te dando acesso ao arsenal da Stark Industries. Já o virtualenv cria realidades paralelas onde cada projeto vive sua própria história sem interferir nos outros — estilo Doutor Estranho total! 😄

Com essas ferramentas, você não só evita conflitos e dores de cabeça com versões, mas também se prepara pro mercado profissional, onde organização e boas práticas são fundamentais. Elas deixam seu projeto mais seguro, fácil de compartilhar, escalar e manter no futuro.

Então já sabe: se quiser dominar o universo Python, aprenda a usar bem o pip e o virtualenv desde agora. São habilidades que vão te acompanhar em todos os níveis da sua jornada como programador. 🚀

Inclusive usaremos esses conceitos de pip e até memso virtual env se necessário para recriarmos o nosso assistente J.A.R.V.I.S.

Tentei trazer de uma forma mais descontraída para que consigamos entender e aplicar esses conceitos em nosso dia a dia, para que futuramente os usarmos em nosso projeto final!

🚀 Quer aprender mais?

Me segue nas redes sociais pra mais dicas como essa: 🔗 linkedin.com/in/carlos-cgs 👨💻 Projeto completo no GitHub: github.com/Carlos-CGS 🌌 Conheça o projeto #CodeversePython2025 e descubra o universo python dos devs em formação!

Se curtiu o artigo, salva, compartilha e bora codar juntos! Com grandes códigos, vêm grandes responsabilidades. 💻🕸️

Compartilhe
Comentários (3)
Carlos CGS
Carlos CGS - 28/04/2025 12:53

Obg pelo feedback!

Realmente dependenod da biblioteca que estiver usando, faz muita diferença usar a versão de python correta! Já passei por algo similar também.

OJ

Oziel Junior - 28/04/2025 10:37

Ótimo artigo! Só queria destacar também a importância de saber gerenciar versões do Python. Já passei por uma situação em que a biblioteca que eu precisava estava descontinuada e não rodava na versão 3.10. Aprendi que o combo ambiente virtual + versão específica do Python instalada localmente é essencial. Isso dá muito mais controle e facilita na hora de upar o projeto para a nuvem!

Talvez, já temos o tópico do próximo artigo.

Vandyck
Vandyck - 28/04/2025 08:53

Muito boa informação Carlos parabéns pelo conteúdo !