E aí, devs! Tudo beleza? 👋
Se você já passou pela agonia de tentar rodar um projeto Python e descobrir que metade das bibliotecas não funciona porque seu colega esqueceu de avisar que usou versões diferentes… você precisa de um requirements.txt na sua vida!
Hoje eu vou te explicar o que é, como criar e por que esse arquivo é essencial para qualquer projeto Python. Vamos nessa? 🚀
🤔 O que é o requirements.txt?
É um arquivo de texto simples que lista todas as dependências do seu projeto Python, com as versões exatas que você está usando. Assim:
django==3.2.18 requests==2.28.1 pandas==1.5.3
Por que isso é importante?
- Evita o clássico “funciona na minha máquina” 💻🔥
- Garante que todo mundo no time (e até você no futuro) use as mesmas versões.
- Facilita a instalação automática de tudo com um único comando.
🛠 Como Criar um requirements.txt? (2 Minutos e Você Resolve)
1. Se você já tem um projeto com bibliotecas instaladas:
No terminal, dentro do seu ambiente virtual (venv), rode:
pip freeze > requirements.txt
Pronto! Um arquivo requirements.txt será criado com todas as bibliotecas + versões.
2. Se você quer criar manualmente:
Abra um arquivo requirements.txt e liste as dependências no formato:
nome-da-biblioteca==versão
Exemplo:
flask==2.2.3 sqlalchemy==1.4.45
⚡ Como Instalar Tudo de Uma Vez?
Quando alguém baixar seu projeto, basta rodar:
pip install -r requirements.txt
E BOOM! Todas as bibliotecas serão instaladas na versão correta. 🎉
💡 Dicas Pro-Level
📌 Não use pip freeze se seu venv tem lixo
Se você instalou muitas bibliotecas só para testes, o pip freeze vai pegar TUDO. Melhor editar manualmente e deixar só o essencial.
📌 Versões flexíveis? Pode!
Se você não quer travar em uma versão exata, pode usar:
django>=3.2 # Versão 3.2 ou superior flask~=2.0.0 # Versões 2.0.x (atualizações seguras)
📌 requirements-dev.txt para dependências de desenvolvimento
Separe bibliotecas de produção (requirements.txt) e de testes/dev (requirements-dev.txt), como:
# requirements-dev.txt pytest==7.3.1 black==23.3.0
🎯 Conclusão
Se você trabalha com Python e não usa requirements.txt, está basicamente brincando de roleta russa com suas dependências 😅.
Resumo rápido do que fazer:
- Sempre use
venv(se não sabe o que é, leia este post). - Gere o
requirements.txtcompip freeze > requirements.txt. - Compartilhe com o time e evite o caos.
E aí, já usou requirements.txt em algum projeto? Conta aí nos comentários (mentira, de novo, mas finja que pode responder 👀).
Até a próxima, e happy coding! 🐍💻
0 comentário