🎉 SEMANA DO CONSUMIDOR

Últimos dias para comprar os cursos com 50% de desconto

Ver detalhes

Postado em em 12 de novembro de 2024

Você sabe o que é o arquivo requirements.txt no Python? Sabe qual é a sua função e quando utilizá-lo? Aprenda como criar e usar esse importante arquivo nos seus projetos!

Se quiser pode acompanhar esse conteúdo em formato de vídeo ou pode acessar o nosso Canal do YouTube para mais vídeos!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.

Requirements.txt no Python – Como Funciona e Por Que Usar?

No desenvolvimento de projetos em Python, especialmente aqueles maiores e colaborativos, é comum lidarmos com diversas bibliotecas e dependências.

Cada biblioteca adicionada ao seu projeto pode exigir uma versão específica para evitar conflitos e garantir que tudo funcione conforme o esperado.

Para gerenciar essas dependências, o arquivo requirements.txt é um aliado muito importante! Neste guia, vou te mostrar o que é esse arquivo, como ele funciona e como usá-lo para tornar seu projeto mais organizado e acessível!

O que é o arquivo requirements.txt?

O requirements.txt é um arquivo de texto que lista as bibliotecas e suas respectivas versões que o seu projeto Python precisa para funcionar corretamente.

Esse arquivo é especialmente útil para compartilhar o ambiente de desenvolvimento com outras pessoas, permitindo que elas configurem a mesma estrutura de dependências, ou para instalar rapidamente as dependências em novos ambientes.

Ao fazer o deploy de um projeto para produção, é comum criar e utilizar o arquivo requirements para agilizar o processo de instalação de todas as dependências do projeto.

Por que usar o requirements.txt?

A utilização do requirements.txt traz várias vantagens, como:

  • Organização e Reprodutibilidade: O arquivo permite que você e outros desenvolvedores repliquem o ambiente do projeto com exatidão, incluindo todas as dependências nas versões corretas.
  • Facilidade na Instalação de Dependências: Com esse arquivo, você pode instalar todas as dependências listadas com uma única linha de comando.
  • Controle de Versões: Ao especificar versões exatas ou intervalos de versões das bibliotecas, você evita que atualizações imprevistas de dependências causem falhas no código.
  • Automação de Deploys: Em ambientes de produção, o uso do requirements facilita a instalação das dependências exatas e acelera a configuração do ambiente.
  • Facilidade de Colaboração: Em equipes, esse arquivo é uma forma simples de compartilhar as dependências e garantir que todos estejam trabalhando com as mesmas versões de bibliotecas.

Como criar um arquivo requirements.txt?

Para criar o requirements.txt de um projeto, você tem duas opções: Manual e Automática.

Se você já sabe quais dependências seu projeto usa, pode criar o arquivo manualmente. Para isso, basta abrir um editor de texto, listar o nome de cada biblioteca e a versão desejada, ou apenas o nome, caso não haja necessidade de uma versão específica.

Feito isso, salve o arquivo como requirements.txt e coloque-o na pasta do seu projeto.

Como criar um arquivo requirements.txt?

No entanto, essa abordagem não é muito prática; quanto maior for o seu projeto, mais bibliotecas você terá instalado. Então, listar cada uma delas manualmente pode não ser viável.

Uma abordagem mais recomendada e eficiente é utilizar o comando pip freeze para gerar o arquivo automaticamente com as bibliotecas usadas em seu projeto.

Ao executar esse comando no terminal do seu editor de código, ele exibirá todas as bibliotecas instaladas naquele ambiente.

comando pip freeze

Para transformar essa saída em um arquivo requirements.txt, basta usar o seguinte comando: pip freeze > requirements.txt

comando: pip freeze > requirements.txt

Esse método é prático porque captura todas as dependências instaladas. No entanto, lembre-se de que ele pode incluir bibliotecas desnecessárias, que não são diretamente usadas no seu projeto.

Ambiente Virtual – Uma Boa Prática Complementar

Para evitar que bibliotecas desnecessárias sejam listadas dentro do seu arquivo requirements.txt, uma boa prática ao trabalhar com desenvolvimento em Python é utilizar ambientes virtuais.

Um ambiente virtual é um espaço isolado no qual você pode instalar pacotes específicos para um projeto, sem interferir nas bibliotecas instaladas globalmente.

Dessa forma, quando você utiliza o comando pip freeze, ele exibirá apenas as bibliotecas que foram instaladas no ambiente virtual específico, juntamente com suas versões respectivas.

Cada editor de código ou IDE tem seu próprio caminho ou atalho para criar um ambiente virtual. No VS Code, editor que estou utilizando para esta aula, você pode criar um ambiente virtual facilmente através do Command Palette.

Basta clicar na engrenagem no canto inferior esquerdo, em seguida em Command Palette ou utilizar o atalho Ctrl + Shift + P.

Ambiente Virtual

No menu superior que será aberto, busque por Create Environment.

Create Environment

Clicando nessa opção, você terá seu ambiente virtual criado. Pode confirmar isso pela pasta .venv, que será adicionada à pasta do seu projeto, e também pelo terminal do VS Code, que exibirá (.venv) antes do caminho da pasta atual.

Ambiente virtual criado
Ambiente virtual criado

Com o ambiente virtual ativado, qualquer biblioteca instalada via pip será instalada apenas dentro do ambiente, permitindo que você utilize pip freeze > requirements.txt para gerar um arquivo que reflita apenas esse ambiente e as bibliotecas instaladas nele.

Para saber mais sobre ambientes virtuais e como criar o seu, confira esta aula: Ambientes Virtuais com Python – O Que São e Como Funcionam?

Como usar o requirements.txt para instalar dependências?

Uma vez criado o requirements.txt, instalar todas as dependências listadas é simples. Basta executar o seguinte comando no terminal: pip install -r requirements.txt

Esse comando lê o arquivo e instala cada biblioteca na versão especificada.

Atualizando o requirements.txt

Se você adicionar novas bibliotecas ao projeto ou se precisar de uma nova versão de uma dependência, basta atualizar o arquivo requirements. Você pode fazer isso manualmente ou novamente utilizando o comando: pip freeze > requirements.txt.

Esse comando sobrescreverá o arquivo com todas as bibliotecas instaladas no ambiente atual, incluindo as atualizações.

Boas práticas ao usar o requirements.txt

Para evitar possíveis conflitos e o uso inadequado do requirements.txt, siga estas boas práticas ao criar e instalar bibliotecas com ele:

  • Use um ambiente virtual: Sempre utilize um ambiente virtual para instalar suas dependências e gerar o requirements.txt. Isso evita capturar bibliotecas globais desnecessárias.
  • Revise as dependências regularmente: Dependendo do tipo de projeto, mantenha o arquivo atualizado e revise as dependências periodicamente, especialmente se o projeto for colaborativo.
  • Defina versões específicas: Sempre que possível, especifique versões exatas ou intervalos compatíveis para evitar que atualizações imprevistas causem quebras.

Conclusão – Requirements.txt no Python – Como Funciona e Por Que Usar?

O requirements.txt é uma ferramenta fundamental para manter seus projetos Python organizados e consistentes. Na aula de hoje, mostrei como criar esse arquivo e utilizá-lo para instalar as dependências do projeto.

Esse arquivo simplifica o gerenciamento de dependências, permitindo que qualquer pessoa configure rapidamente um ambiente de desenvolvimento igual ao seu.

Em resumo, ao utilizar esse arquivo corretamente, você melhora a colaboração, facilita o deploy e ajuda a manter a integridade do projeto ao longo do tempo.

Adotar o requirements.txt desde o início do desenvolvimento é uma prática recomendada, especialmente se você planeja escalar o projeto, colaborar com outras pessoas ou compartilhá-lo em seu portfólio.

Para aprender a dominar este e outros temas importantes do Python que irão te levar do básico ao impressionador, confira o nosso Curso Completo Python Impressionador!

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Posts mais recentes de Python

Posts mais recentes da Hashtag Treinamentos

Diego Monutti

Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.