Introdução
Este laboratório apresenta o script setup.py, um componente fundamental para empacotar projetos Python usando a biblioteca tradicional Distutils. Você aprenderá seu propósito, estrutura e como usá-lo para tornar seus módulos Python instaláveis. Ao final deste laboratório, você terá criado um arquivo setup.py básico e o utilizado para instalar um pacote Python simples.
Introdução
Nesta etapa, você entenderá o papel do script setup.py como o centro de toda a atividade na construção, distribuição e instalação de módulos com Distutils.
O script de configuração (setup script) é o núcleo da construção, distribuição e instalação de módulos usando Distutils. Seu principal objetivo é descrever sua distribuição de módulo para o Distutils, para que os vários comandos que operam em seus módulos façam a coisa certa.
O arquivo setup.py está no coração de um projeto Python. Ele descreve todos os metadados sobre o seu projeto. Embora existam muitos campos que você pode adicionar para fornecer metadados ricos, apenas três são obrigatórios:
name: O nome do seu pacote. Este deve ser único se você deseja publicar seu pacote no Python Package Index (PyPI).version: A versão atual do seu pacote. Isso ajuda os usuários a distinguir entre diferentes lançamentos.packages: Uma lista de todos os pacotes Python a serem incluídos em sua distribuição.
Depois de ter um arquivo setup.py, você pode facilmente instalar o pacote Python em seu ambiente. A maneira recomendada é usar o pip para instalar o pacote a partir do diretório atual. Execute o seguinte comando no seu terminal, a partir do mesmo diretório do arquivo setup.py:
pip install .
Este comando cuidará do processo de construção e instalação do módulo para que ele possa ser importado e usado em outros scripts Python. Na próxima etapa, criaremos um arquivo setup.py e executaremos este comando.
Exemplo
Nesta etapa, revisaremos um exemplo básico de um script setup.py e criaremos um para o nosso projeto. Este exemplo incluirá os campos obrigatórios, bem como informações opcionais como a licença e uma descrição longa lida de um arquivo README.txt.
Primeiro, navegue até o diretório do projeto que foi preparado para você. Use o explorador de arquivos no lado esquerdo do IDE para ver o diretório pythonCheatsheet. Dentro dele, você encontrará um subdiretório pipenv e um arquivo README.txt.
Agora, crie um novo arquivo chamado setup.py dentro do diretório ~/project/pythonCheatsheet. Clique na pasta pythonCheatsheet no explorador de arquivos, depois clique no ícone "New File" (Novo Arquivo) e nomeie-o como setup.py.
Copie e cole o código a seguir no seu arquivo setup.py recém-criado:
## setup.py: define package metadata for distribution
from distutils.core import setup
setup(
name='pythonCheatsheet', ## Package name (must be unique on PyPI)
version='0.1', ## Version number
packages=['pipenv',], ## List of packages to include
license='MIT', ## License type
long_description=open('README.txt').read(), ## Read description from file
)
Vamos analisar este script:
from distutils.core import setup: Esta linha importa a funçãosetup, que é o principal ponto de entrada para o script.name='pythonCheatsheet': Define o nome do nosso pacote.version='0.1': Define a versão inicial.packages=['pipenv',]: Informa ao Distutils que o pacote a ser incluído está no diretóriopipenv.license='MIT': Especifica a licença sob a qual o pacote é distribuído.long_description=open('README.txt').read(): Lê o conteúdo deREADME.txtpara fornecer uma descrição detalhada do pacote.
Agora que o arquivo setup.py está pronto, abra um terminal clicando no ícone + no painel do terminal na parte inferior do IDE. Certifique-se de que seu diretório atual seja ~/project/pythonCheatsheet. Você pode navegar até ele executando cd ~/project/pythonCheatsheet.
Execute o comando de instalação:
pip install .
Você verá a saída no terminal enquanto o pip constrói e instala o pacote. A saída será algo parecido com isto, terminando com uma confirmação de que o pacote foi instalado:
Processing /home/labex/project/pythonCheatsheet
Building wheels for collected packages: pythonCheatsheet
Building wheel for pythonCheatsheet (setup.py) ... done
Created wheel for pythonCheatsheet: pythonCheatsheet-0.1-py3-none-any.whl
Stored in directory: /tmp/pip-wheel-xxxxx
Successfully built pythonCheatsheet
Installing collected packages: pythonCheatsheet
Successfully installed pythonCheatsheet-0.1
Para confirmar a instalação, você pode usar o pip para listar os pacotes instalados e filtrar pelo seu novo pacote:
pip list | grep pythonCheatsheet
Você deverá ver seu pacote listado com sua versão:
pythonCheatsheet 0.1
Parabéns! Você criou com sucesso um arquivo setup.py e instalou um pacote Python.
Resumo
Neste laboratório, você aprendeu sobre o papel fundamental do script setup.py na distribuição de projetos Python usando Distutils. Você cobriu os campos de metadados essenciais necessários para um pacote: name, version e packages. Finalmente, você criou um arquivo setup.py prático, incluiu metadados adicionais como license e long_description, e instalou com sucesso seu pacote no ambiente local usando o comando pip install .. Agora você tem o conhecimento básico para tornar seus próprios projetos Python distribuíveis.



