Python se destaca como a terceira linguagem de programação mais popular, segundo um estudo do Stack Overflow de 2023. Sua versatilidade permite que seja aplicada em diversas áreas, como ciência de dados, desenvolvimento web, aprendizado de máquina, engenharia de software e computação científica.
Ao se aprofundar no universo do Python, você se deparará com o termo “pacote”. Mas o que exatamente são pacotes Python e como podemos criá-los?
Este artigo abordará:
- A definição de pacotes Python
- A importância dos pacotes Python na programação
- O processo de criação de pacotes Python
- O uso e teste de pacotes Python
- O processo de upload de pacotes Python
O que são Pacotes Python?
Pacotes Python são elementos cruciais no desenvolvimento de software. Sem eles, programadores teriam que construir tudo do zero, tornando o processo de programação demorado e complexo. Pacotes Python são essencialmente conjuntos de módulos Python, que nada mais são do que coleções de código reutilizável.
Um módulo Python é um arquivo que contém código Python e pode ser importado para outros programas Python. Para criar um pacote Python, o código deve ser armazenado em um diretório específico que inclua um arquivo chamado __init__.py.
Um pacote Python pode conter outros pacotes (aninhamento) e existem milhares de pacotes disponíveis online, alguns oficiais e outros não. A maioria dos pacotes Python pode ser encontrada em https://pypi.org/.
Django, um framework web Python, é um exemplo de pacote que pode ser utilizado para construir aplicações web. Já Scikit-learn, PyTorch e TensorFlow são pacotes muito populares na área de aprendizado de máquina.
A Importância dos Pacotes Python
Por que não programar tudo do zero? Por que necessitamos de pacotes Python? Eis algumas razões que evidenciam a importância dos pacotes Python:
- Economia de tempo: Pacotes Python disponibilizam código pré-escrito que resolve problemas comuns. Você pode utilizar esses pacotes em vez de reescrever a mesma lógica toda vez que precisar criar um script Python.
- Facilidade na distribuição de código: A colaboração é comum no universo da programação. Você pode criar pacotes Python para que sua equipe possa importar ao trabalhar em projetos em conjunto.
- Reutilização de código: Se você se depara com um trecho de código que sempre precisa repetir em seus programas Python, você pode agrupá-lo em um pacote e importá-lo quando necessário.
- Organização do código: Pacotes Python permitem organizar o código em módulos lógicos, o que facilita a leitura e a manutenção do seu código Python.
Como Criar Seu Primeiro Pacote Python
Como já mencionado, Python é uma linguagem de uso geral. Você pode criar diferentes tipos de pacotes de acordo com sua necessidade.
Por exemplo, você pode ter um pacote que automatiza tarefas específicas, um que auxilia no controle de orçamento ou até mesmo um que ajude no aprendizado de um novo idioma. No entanto, antes de começar, é necessário ter:
Pré-requisitos:
- Python instalado em sua máquina. Em sistemas Linux, o Python geralmente já vem instalado. Você pode verificar se o Python está instalado usando os comandos `python –version` ou `python3 –version`. Caso o Python esteja instalado, você verá algo como:
Se você não tiver o Python, pode baixá-lo em https://www.python.org/downloads/.
- Conhecimento de Python. É necessário entender como escrever classes, módulos e funções em Python.
- Um gerenciador de pacotes. Para esta demonstração, usaremos o pip. Você pode verificar se o pip está instalado usando o comando:
pip --version
Se estiver instalado, você verá algo similar em seu terminal.
Os requisitos podem variar de acordo com a natureza do pacote que você pretende criar.
Para esta demonstração, vou criar um pacote Python simples que verifica se um número é primo. Você pode acompanhar:
- Passo 1: Crie uma pasta de projeto. Irei chamá-la de `primechecker`.
- Passo 2: Crie outra pasta dentro de `primechecker` e chame-a de `prime`.
- Passo 3: Crie um arquivo dentro da pasta criada no passo 2 e chame-o de `prime.py`. Você pode juntar os três passos usando este comando:
mkdir primechecker && cd primechecker && mkdir prime && cd prime && touch prime.py
- Passo 4: Abra o projeto em seu editor de código. Adicione este código ao arquivo `prime.py` para verificar se um número é primo:
def is_prime(number): if number < 2: return False for i in range(2, int(number ** 0.5) + 1): if number % i == 0: return False return True
- Passo 5: Dentro da pasta `prime`, crie um novo arquivo e chame-o de `__init__.py`. Este arquivo permite que o Python reconheça a pasta do projeto como um pacote.
Você pode usar este comando:
touch prime/__init__.py
- Passo 6: Teste seu código. Podemos criar um script em um arquivo `test.py` dentro da pasta raiz para verificar se um número é primo. Volte para a pasta principal e use este comando:
touch test.py
Adicione este código ao arquivo:
from prime.prime import is_prime number = int(input("Digite um número: ")) result = is_prime(number) print(f"{number} é primo: {result}")
Execute este comando para verificar seu código:
python3 test.py
Agora você pode inserir um número e verificar se ele é primo.
Por exemplo, eu verifiquei se 5 e 1 eram números primos e obtive:
Como Fazer Upload do Pacote Online
Você pode hospedar seu pacote no PyPI (Python Package Index), um repositório central que contém milhares de pacotes Python. Acesse https://pypi.org/ e crie uma conta caso não tenha.
Siga estes passos para enviar seu pacote online:
- Passo 1: Crie um novo arquivo na pasta raiz (no meu caso, `primechecker`) e chame-o de `setup.py`.
- Passo 2: Edite o arquivo `setup.py` para incluir informações sobre o pacote que você deseja enviar.
O código desse arquivo deve ser:
from setuptools import setup, find_packages setup( name="primechecker", version='1.0.0', author="Seu Nome", author_email="[email protected]", description='Um pacote para verificar números primos', packages=find_packages(), )
Altere o nome, autor, author_email e a descrição de acordo com os detalhes do seu pacote.
- Passo 3: Crie seu pacote. Execute este comando ainda dentro da pasta raiz:
python3 setup.py sdist bdist_wheel
Ao verificar a pasta do projeto, você verá duas novas pastas (`build` e `dist`) dentro da pasta raiz.
- Passo 4: Instale o twine, o pacote necessário para enviar pacotes para o PyPI.
Use o comando:
pip install twine
- Passo 5: Envie o pacote
Use o comando:
twine upload dist/*
Você será solicitado a inserir seu nome de usuário e senha. Se o nome do seu pacote não estiver em uso, o pacote será publicado online e você receberá um link em seu terminal.
O pacote que você acabou de publicar estará disponível ao público. Qualquer pessoa pode baixar seu pacote usando o pip.
Por exemplo, o pacote que publiquei pode ser baixado com:
pip install primechecker==1.0.0.
Melhores Práticas para Criar Pacotes Python
- Atenção aos padrões de empacotamento Python: Mesmo que você tenha liberdade para decidir o tipo de pacote a ser criado, lembre-se que pacotes Python seguem padrões que devem ser respeitados. Verifique esses padrões em https://packaging.python.org/ antes de iniciar a escrita do código.
- Teste seu pacote antes de implantar: Erros são comuns na programação. Crie scripts para gerar testes automatizados, especialmente ao construir pacotes grandes. Isso garantirá que você envie pacotes livres de erros.
- Versionamento: Um pacote adequado deve seguir o versionamento semântico. O pacote que criei em nossa demonstração tinha os números 1.0.0. O primeiro número (1) representa a versão principal, o segundo (0) a versão secundária e o último (0) o patch.
- Especifique todas as dependências: Dependendo de suas necessidades, você pode ter várias dependências ou outros pacotes dentro do seu pacote. É importante mencionar todas as dependências na descrição do seu pacote durante o upload. Você pode usar ferramentas como setuptools ou poetry para adicionar e gerenciar essas dependências.
- Use o controle de versão: A programação é um processo contínuo. Você pode precisar atualizar ou melhorar seu pacote adicionando novos recursos ou tornando-o mais eficiente. Você também pode convidar outros colaboradores. É possível carregar o código do seu pacote para plataformas como GitHub ou GitLab para tornar seu código acessível e permitir a colaboração.
- Documente seu código: O pacote que criamos foi para fins de demonstração. No entanto, se você pretende compartilhar um pacote com o público ou membros da equipe, você deve gerar uma documentação que oriente os usuários. Você pode utilizar ferramentas como Pydoc ou Sphinx para gerar seus documentos.
Onde Mais Posso Fazer Upload de Pacotes Python?
Apesar do Python Package Index (PyPI) ser o repositório oficial para pacotes Python, você não precisa se limitar a ele. Alguns fatores a serem considerados ao escolher onde enviar seu pacote Python incluem o tamanho dos arquivos, a natureza do pacote, o nível de suporte necessário e seu público-alvo.
Outras plataformas onde você pode fazer o upload de seus pacotes:
- GitHub: O GitHub é a maior plataforma de hospedagem de código. Você pode criar um repositório e adicionar seu pacote Python como um arquivo zip para redistribuição.
- Conda: Conda é um gerenciador de pacotes que pode ser usado para seus pacotes Python, muito popular entre cientistas de dados. Crie uma conta no Conda e comece a enviar seus pacotes para redistribuição.
- Espelhos PyPI: Existem vários espelhos PyPI que replicam o conteúdo da plataforma PyPI. Selecione um que atenda suas necessidades para hospedar seu pacote.
Conclusão
Agora você tem o passo a passo para criar pacotes Python e publicá-los online. Nosso exemplo foi básico, mas você pode experimentar e criar pacotes complexos. Lembre-se sempre de criar a estrutura de pastas correta ao criar seus pacotes Python.