Como criar pacotes Python [2023]

Python é a terceira linguagem de programação mais usada com base em uma pesquisa Stackoverflow de 2023. Esse propósito geral pode ser usado em ciência de dados, desenvolvimento web, aprendizado de máquina, engenharia de software e computação científica.

Um pacote Python é um dos termos que você encontrará ao aprender e interagir com a linguagem Python. O que são pacotes Python e como você pode criar alguns?

Este artigo irá;

  • Definir pacotes Python
  • Explicar a importância dos pacotes Python na programação
  • Demonstrar como criar pacotes Python
  • Demonstrar como usar e testar pacotes Python
  • Demonstrar como fazer upload de pacotes Python

O que são pacotes Python?

Os pacotes Python são blocos de construção essenciais na programação. Sem pacotes, os desenvolvedores poderiam escrever tudo do zero, tornando a programação um processo longo e estressante. Pacotes Python são coleções de módulos Python, basicamente uma coleção de código reutilizável.

Um módulo em Python é um arquivo contendo código Python que pode ser importado para outros programas Python. Para criar um pacote Python, você deve armazenar o código em um diretório que contenha um arquivo __init__.py.

Um pacote Python pode conter outros pacotes (aninhamento) e milhares de pacotes Python estão disponíveis online. Alguns desses pacotes são oficiais, enquanto outros não. A maioria dos pacotes Python está disponível em https://pypi.org/.

Django, um framework web Python, é um exemplo de pacote que você pode usar para construir aplicações web. Scikit-learn, PyTorch e TensorFlow são pacotes populares no campo de aprendizado de máquina.

Importância dos pacotes Python

Por que não criar tudo do zero como programador? Precisamos de pacotes Python? Estas são algumas das razões pelas quais os pacotes Python são importantes;

  • Economiza tempo: o pacote Python oferece acesso a código pré-escrito que resolve problemas comuns. Você pode usar pacotes Python em vez de reinventar a roda sempre que quiser escrever um script Python.
  • Facilita a distribuição de código: A colaboração é muito comum na programação. Você pode criar um pacote Python que os membros de sua equipe sempre podem importar ao colaborar em um projeto.
  • Reutilização de código: Se houver um bloco de código que você sempre tenha que escrever em seus programas Python, você pode empacotá-lo e importá-lo em seus aplicativos.
  • Organização de código: pacotes Python permitem que você organize seu código em módulos lógicos. Essa abordagem facilita a leitura e a manutenção do código Python.
  Como definir seu teclado retroiluminado para sempre ligado

Como criar seu primeiro pacote Python

Já afirmamos que Python é uma linguagem de uso geral. Você pode criar diferentes tipos de pacotes como programador.

Por exemplo, você pode ter um pacote que automatiza determinadas tarefas, um pacote que ajuda no orçamento ou até mesmo aprender um novo idioma. No entanto, antes de começar a criar seu primeiro pacote, você precisa do seguinte;

Pré-requisitos;

  • O Python está instalado em sua máquina local. Se você usa Linux, o Python é instalado com seu sistema operacional por padrão. Você pode usar este comando python –version ou python3 –version para verificar se o Python está instalado. Se o Python estiver instalado, você verá algo assim em seu terminal;

Se você não possui o Python, pode baixá-lo em https://www.python.org/downloads/.

  • Compreensão de Python. Você precisa entender como escrever classes, módulos e funções Python.
  • Um gerenciador de pacotes. Usaremos o pip para esta demonstração. Você pode verificar se o pip está instalado usando este comando;
pip --version

Se instalado, você verá algo semelhante em seu terminal.

Os requisitos podem variar dependendo da natureza do pacote que você deseja instalar.

Vou criar um pacote Python simples para esta demonstração que verifica se um número é primo. Você pode acompanhar;

  • Passo um: Crie uma pasta de projeto. Vou nomear o meu como primechecker.
  • Etapa dois: crie outra pasta dentro da pasta primechecker e nomeie-a como prime.
  • Etapa três: crie um arquivo dentro do diretório criado na etapa dois e nomeie-o como prime.py. Você pode combinar as três etapas usando este comando;
 mkdir primechecker && cd primechecker && mkdir prime && cd prime && touch prime.py
  • Etapa três: abra seu projeto em seu editor de código. Você pode adicionar esse código ao arquivo prime.py que verifica 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
  • Etapa quatro: Dentro da pasta principal, crie um novo arquivo e nomeie-o __init__.py. Este arquivo faz com que o Python reconheça a pasta do projeto que criamos como um pacote.

Você pode usar este comando;

touch prime/__init__.py
  • Etapa cinco: teste seu código. Podemos criar um script em um arquivo test.py dentro da pasta raiz que verifica se um número é primo. Navegue de volta para a pasta principal e use este comando;
touch test.py

Você pode então adicionar este código a este arquivo;

from prime.prime import is_prime

number = int(input("Enter a number: "))

result = is_prime(number)

print(f"{number} is prime: {result}")

Execute este comando para verificar seu código;

python3 test.py

Agora você pode inserir um número e verificar se é primo.

  12 Banco de dados NoSQL para seu próximo projeto moderno

Por exemplo, verifiquei se 5 e 1 são números primos e obtive o seguinte;

Como Carregar o Pacote Online

Você pode hospedar o pacote que criou no PyPI (Python Package Index). Este é um repositório central que carrega milhares de pacotes Python. Vá para https://pypi.org/ e crie uma conta se você não tiver uma.

Você pode seguir estas etapas agora para enviar seu pacote online;

  • Etapa 1: crie um novo arquivo na pasta raiz (o meu é primechecker) e nomeie-o como setup.py.
  • Etapa 2: altere o conteúdo do arquivo setup.py para conter informações sobre o pacote que você deseja carregar.

O código desse arquivo deve ser o seguinte;

from setuptools import setup, find_packages

setup(

    name="primechecker",

    version='1.0.0',

    author="Your Name",

    author_email="[email protected]",

    description='A package for checking prime numbers',

    packages=find_packages(),

)

Altere o nome, autor, author_email e descrição de acordo com os detalhes do seu pacote.

  • Etapa 3: crie seu pacote. Execute este comando ainda dentro da pasta raiz;
python3 setup.py sdist bdist_wheel

Se você verificar a pasta do seu projeto, poderá ver duas novas pastas (build e dist) dentro da pasta raiz.

  • Etapa 4: instale o fio. Este é o pacote necessário para carregar pacotes no PyPI.

Use este comando;

pip install twine
  • Passo 5: Carregue o pacote

Use este comando;

twine upload dist/*

Você será solicitado a inserir seu nome de usuário e senha. Se o nome do seu pacote ainda 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. Quem quiser usar o pacote pode baixá-lo usando o pip.

Por exemplo, o pacote que publiquei pode ser baixado como;

pip install primechecker==1.0.0.

Melhores práticas para criar pacotes Python

  • Preste atenção aos padrões de empacotamento do Python: mesmo que você seja livre para decidir sobre o tipo de pacote a ser criado, lembre-se sempre de que os pacotes do Python têm padrões aos quais você deve aderir. Verifique esses padrões em https://packaging.python.org/ antes de começar a escrever seu código.
  • Teste seu pacote antes de implantar: Erros são comuns na programação. Crie scripts para gerar testes automatizados, especialmente ao construir grandes pacotes. Essa abordagem garante que você carregue pacotes livres de bugs.
  • Versionamento: Um pacote adequado deve seguir o versionamento semântico. O pacote que criei em nossa demonstração tinha esses números 1.0.0. O primeiro bit (1) é a versão principal, o segundo bit (0) é a versão secundária e o último bit é o patch.
  • Especifique todas as dependências: Dependendo de suas necessidades, você pode ter várias dependências ou outros pacotes dentro de seu pacote. Você deve mencionar todas as dependências na descrição do seu pacote durante o upload. Você pode usar ferramentas como ferramentas de configuração ou poesia para adicionar e gerenciar essas dependências.
  • Use o controle de versão: a programação é um processo contínuo. Você pode continuar atualizando ou melhorando seu pacote para adicionar novos recursos ou torná-lo mais eficiente. Você também pode querer convidar colaboradores. Você pode 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 tal pacote com o público ou membros da equipe, deve gerar documentação que oriente os usuários. Você pode usar ferramentas como Pydoc ou Sphinx para gerar seus documentos.
  Como criar uma tabela listrada no Microsoft Word

Onde mais posso fazer upload de pacotes Python?

Mesmo que o Python Package Index (PyPI) seja o repositório oficial para pacotes Python, isso não significa que você está impedido de usá-lo. Alguns fatores a serem considerados ao determinar onde carregar seu pacote Python são o tamanho dos arquivos, a natureza do pacote, o nível de suporte necessário e seu público-alvo.

Estas são outras áreas onde você pode carregar seus pacotes Python;

  • GitHub: 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 você pode usar para seus pacotes Python. Essa plataforma é famosa entre os cientistas de dados. Crie uma conta no Conda e comece a enviar seus pacotes para redistribuição.
  • Espelhos PyPI: Existem muitos espelhos PyPI que espelham o conteúdo da plataforma PyPI. Selecione um que atenda às suas necessidades para hospedar seu pacote.

Conclusão

Agora você tem as etapas para criar pacotes Python e publicá-los online. Nosso exemplo foi apenas básico, mas você pode brincar e criar pacotes complexos. No entanto, sempre crie a estrutura de pastas correta ao criar pacotes Python.