Article image
Gustavo Quinup
Gustavo Quinup29/10/2024 06:51
Compartilhe

Python: Gerenciamento de Pacotes e Boas Práticas Essenciais para Desenvolvedores

  • #Python
  • #Boas práticas
  • #Inteligência Artificial (IA)

No desenvolvimento de software, especialmente em Python, é essencial adotar boas práticas e utilizar ferramentas que facilitem o gerenciamento de pacotes e a qualidade do código. Essas práticas ajudam a garantir que os projetos sejam consistentes, fáceis de manter e escaláveis, contribuindo para o sucesso e a eficiência no desenvolvimento.

Python é uma das linguagens mais populares entre desenvolvedores por sua simplicidade, eficiência e vasta biblioteca de pacotes. Para manter os códigos consistentes, seguros e fáceis de gerenciar, é fundamental adotar boas práticas e utilizar ferramentas que auxiliem na qualidade e no gerenciamento dos pacotes. Neste artigo, exploraremos essas convenções e como as ferramentas disponíveis podem melhorar nosso desenvolvimento.

Gerenciamento de Pacotes em Python

Um dos principais benefícios do Python é o seu sistema de gerenciamento de pacotes, que facilita a instalação e atualização de bibliotecas externas. A principal ferramenta para gerenciamento de pacotes é o pip. Com ele, é possível adicionar funcionalidades ao seu projeto, integrando bibliotecas que agilizam o desenvolvimento e fornecem soluções pré-estabelecidas.

Para instalar um pacote com o pip, utilizamos o comando:

pip install nome_do_pacote

Além disso, recomenda-se utilizar ambientes virtuais para evitar conflitos entre dependências e garantir que o projeto tenha apenas os pacotes necessários. Uma boa alternativa é usar venv ou virtualenv para criar um ambiente isolado:

python -m venv meu_ambiente

Dessa forma, é possível garantir que as dependências sejam consistentes em diferentes máquinas e ambientes.

Para usar o ambiente virtual, ative-o com o seguinte comando:

No Windows:

meu_ambiente\Scripts\activate

No Linux ou macOS:

source meu_ambiente/bin/activate

Quando terminar de trabalhar, você pode sair do ambiente virtual com o comando:

deactivate

Pipenv

Pipenv é uma ferramenta poderosa que combina o gerenciamento de pacotes e ambientes virtuais, trazendo mais facilidade e controle ao desenvolvedor. Com Pipenv, você não precisa se preocupar com a instalação separada de um ambiente virtual e o gerenciamento de dependências, já que tudo é feito automaticamente. O Pipenv usa dois arquivos principais para gerenciar dependências: o Pipfile e o Pipfile.lock. O Pipfile especifica as dependências do projeto e suas versões, enquanto o Pipfile.lock congela essas versões, garantindo reprodutibilidade.

Uma das principais vantagens do Pipenv em comparação com outras ferramentas, como venv e virtualenv, é a integração de ambientes virtuais e gerenciamento de dependências em uma única ferramenta. Isso simplifica o processo de configuração de projetos, pois o desenvolvedor não precisa lidar com múltiplos comandos e arquivos. Além disso, o Pipenv torna o processo de reprodutibilidade muito mais seguro e confiável graças ao Pipfile.lock, que garante que as versões das bibliotecas usadas no projeto sejam idênticas em diferentes ambientes, o que ajuda a evitar problemas de compatibilidade. Por exemplo, ao trabalhar em equipe, o uso do Pipenv assegura que todos os desenvolvedores utilizem as mesmas versões de dependências, evitando o clássico problema de "funciona na minha máquina, mas não na sua".

Para começar a usar o Pipenv, basta instalá-lo com o comando:

pip install pipenv

Depois, para criar um ambiente virtual e instalar dependências, utilize:

pipenv install nome_do_pacote

Dessa forma, o Pipenv criará um ambiente virtual automaticamente e gerenciará as dependências no Pipfile.

Poetry

Outra ferramenta popular para gerenciamento de pacotes é o Poetry, que vai além do pip e do Pipenv. O Poetry gerencia as dependências, o empacotamento e até mesmo a publicação do projeto no PyPI, tornando-o uma solução completa para desenvolvedores Python. Um dos maiores benefícios do Poetry é a sua simplicidade na definição e atualização de dependências, além de possuir um bom suporte ao empacotamento de bibliotecas.

Para instalar o Poetry, utilize o seguinte comando:

pip install poetry

Com o Poetry, é fácil criar um novo projeto, adicionar dependências e manter um ambiente bem organizado. Para adicionar uma dependência, por exemplo, basta usar:

poetry add nome_do_pacote

Além disso, o Poetry armazena todas as dependências em um arquivo pyproject.toml, que facilita a padronização e a consistência entre projetos diferentes.

O que é PEP 8 e suas principais recomendações?

PEP 8 é o guia de estilo para codificação em Python. Ele inclui convenções sobre nomes de variáveis, uso de espaços em branco, comprimento da linha e muitas outras práticas que ajudam a manter o código Python consistente e legível. Adotar essas convenções melhora a legibilidade e consistência do código, facilitando o trabalho em equipe e a manutenção futura.

Algumas das principais recomendações da PEP 8 incluem:

  • Utilizar nomes de variáveis claros e descritivos;
  • Manter a identação consistente (4 espaços por padrão);
  • Limitar as linhas a 79 caracteres;
  • Usar nomes de variáveis em snake_case para funções e variáveis;
  • Usar CamelCase para classes;
  • Usar docstrings para documentar funções, classes e módulos;
  • Preferir listas por compreensão ao invés de laços para criar listas;
  • Manter importações organizadas e padronizadas.

Para ajudar a manter essas convenções, existem ferramentas que podem automatizar parte desse trabalho, como Black, isort e flake8. Essas ferramentas oferecem diferentes vantagens que ajudam a manter o estilo do código consistente de acordo com as regras da PEP8, reduzindo erros comuns e agilizando revisões:

  • Black: Automatiza a formatação do código, garantindo que siga as convenções da PEP8, o que facilita a padronização e reduz debates sobre estilo em equipes de desenvolvimento.
  • isort: Organiza e padroniza automaticamente as importações, ajudando a manter o código limpo e fácil de navegar.
  • flake8: Realiza uma análise estática do código para identificar possíveis erros e violações de estilo, além de sugerir melhorias, contribuindo para a qualidade do código.

Tutorial: Instalando e Configurando Black, Isort e Tabnine

Vamos fazer um pequeno tutorial que explica como instalar e usar as extensões do Black, isort e Tabnine no VSCode, para que elas funcionem em conjunto e melhorem tanto a organização quanto a produtividade do seu código Python.

1. Instalando o Black e o Isort

Para instalar as ferramentas Black e isort, basta usar o comando abaixo e pesquisar eles nas extensões do VScode:

pip install black

image

pip install isort

image

Ambas são ferramentas de formatação e organização do código. Enquanto o Black formata todo o código de acordo com a PEP8, o isort é responsável por organizar e padronizar as importações do seu projeto.

2. Configurando para Trabalhar Juntos

Precisamos configurar o Black formatter.

Abra as configurações do VSCode:

Pesquise: "format on save" e habilite as duas opções.

image

Pesquise: "default formatter" e selecione "Black Formatter" nas opções.

image

Após finalizar essas configurações, o atalho para usar a extensão é: CTRL + S.

Agora, para garantir que Black e isort funcionem juntos de forma harmoniosa e com o mesmo atalho, precisamos editar o arquivo de configuração no VSCode settings.json e adicionar estas linhas de código, onde definiremos os comportamentos de cada um:

"[python]": {
  "editor.defaultFormatter": "ms-python.black-formatter",
  "editor.formatOnSave": true,
  "editor.codeActionsOnSave": {
      "source.organizeImports": true
  }
},

"isort.args": ["--profile", "black"]

Dessa forma, estamos garantindo que as regras do isort estejam alinhadas ao Black, evitando conflitos de estilo entre as ferramentas e garantindo que funcionem juntas.

3. Instalando o Tabnine

Tabnine é uma ferramenta de autocompletação baseada em Inteligência Artificial, que auxilia os desenvolvedores a escrever códigos de forma mais rápida e precisa. Além disso, funciona offline e aprende com o seu código para fornecer sugestões. É uma ótima alternativa gratuita ao GitHub Copilot, que é pago.

Para instalá-lo em seu VSCode, siga os passos abaixo:

  • Abra a aba de extensões (Ctrl+Shift+X), pesquise por Tabnine e clique em instalar.
  • Após a instalação, você pode configurá-lo para ser ainda mais eficiente no suporte à escrita de código Python.

image

4. Usando as Ferramentas em Conjunto

Com o Black, isort e Tabnine instalados e configurados, você terá um ambiente de desenvolvimento muito mais ágil e padronizado. O Black e o isort garantirão que seu código esteja bem formatado e organizado usando o atalho CTRL + S, enquanto o Tabnine oferecerá sugestões inteligentes, economizando tempo e reduzindo erros.

Conclusão

Utilizar boas práticas, ferramentas de gerenciamento de pacotes e automatização de formatação é essencial para quem deseja se destacar como desenvolvedor Python. O uso de Pipenv, Poetry, Black, isort e Tabnine não só melhora a qualidade do código, mas também torna o desenvolvimento mais eficiente e menos propenso a erros.

Espero que este artigo tenha sido útil para esclarecer como gerenciar pacotes, seguir convenções e aplicar boas práticas em Python. Lembre-se, a qualidade do código reflete diretamente na facilidade de manutenção e no sucesso dos projetos!

Convido você a experimentar as ferramentas mencionadas e compartilhar suas próprias experiências. Vamos continuar aprendendo e melhorando juntos!

Compartilhe
Comentários (2)

EP

ERIBERTO PEREIRA - 29/10/2024 08:09

Agora só me falta aprender a codificar!

RM

Renan Melo - 29/10/2024 07:38

podia ter um bootcamp de python basico!