0% acharam este documento útil (0 voto)
57 visualizações7 páginas

Distribuindo Aplicações Python com PyPI

O documento explica como distribuir aplicações Python usando o PyPI (Python Package Index). Primeiro, é necessário criar uma conta no PyPI e no PyPI Test e configurar autenticação no arquivo .pypirc. Depois, é preciso adicionar arquivos setup.py e setup.cfg ao projeto com metadados sobre a aplicação. Por fim, o código pode ser publicado no PyPI para que outros desenvolvedores o instalem.

Enviado por

Maddogxy32
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
57 visualizações7 páginas

Distribuindo Aplicações Python com PyPI

O documento explica como distribuir aplicações Python usando o PyPI (Python Package Index). Primeiro, é necessário criar uma conta no PyPI e no PyPI Test e configurar autenticação no arquivo .pypirc. Depois, é preciso adicionar arquivos setup.py e setup.cfg ao projeto com metadados sobre a aplicação. Por fim, o código pode ser publicado no PyPI para que outros desenvolvedores o instalem.

Enviado por

Maddogxy32
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

26/04/2023, 19:24 Como distribuir sua aplicação Python com PyPI | iMasters

Fórum iMasters ([Link]


we are developers Portal E-Commerce Brasil ([Link]
CBR ([Link]

(/) POWERED
(HTTP://[Link]/)
BY: ([Link] ([Link]

Back-End([Link]
Mobile([Link]
Front End([Link]
DevSecOps([Link]
Design & UX([Link]
Data([Link]
APIs e Microsserviços([Link]
Crypto([Link]

PATROCINADOR:
BACK-END

9 DEZ, 2016

Como distribuir sua aplicação Python com PyPI


([Link] ([Link] ([Link]
u=[Link] url=[Link] url=[Link] COMPARTILHE!
sua-aplicacao-python-com-pypi) distribuir-sua-aplicacao-python-com-pypi) sua-aplicacao-python-com-pypi)

MICHELL STUTTGART
(HTTPS://[Link]/PERFIL/MICHELLSTUTTGART)
Tem 12 artigos publicados com 14400
visualizações desde 2016

MICHELL STUTTGART (HTTPS://[Link]/PERFIL/MICHELLSTUTTGART)

12

Bacharel em Engenharia da Computação pela Universidade Federal de Itajubá. É apaixonado por desenvolvimento de software, tecnologia e ciências,
além de ser entusiasta da filosofia de Software Livre. Desenvolvedor Python e Linux User, também contribui em diversos projetos Open Source
(incluindo projetos próprios) e colaborada nos blogs Código Avulso e PythonClub. Sempre está em busca de novos conhecimentos e de compartilhar
o que aprende.

LEIA MAIS (HTTPS://[Link]/PERFIL/MICHELLSTUTTGART)

1 MAI, 2018
Criando dicts a partir de outros dicts ([Link]

2 FEV, 2018
Mate e Cinnamon: como reiniciar a configuração dos painéis de menu ([Link]
configuracao-dos-paineis-de-menu)

8 NOV, 2017
Python – Calculando diferença de dias entre duas datas ([Link]

Imagine a seguinte situação: você passou alguns dias (ou mesmo meses) desenvolvendo uma módulo python, escreveu testes,
implementou funcionalidades e depois de alguns ajustes, chegou a hora de liberar seu software para que outros desenvolvedores
possam utilizá-lo. Qual o melhor modo de distribuí-lo?

[Link] 1/7
26/04/2023, 19:24 Como distribuir sua aplicação Python com PyPI | iMasters

Caro leitor, se você costuma programar em Python (seja profissionalmente ou não) provavelmente já instalou outros módulos
usando o PyPI ([Link] através do comando abaixo:

1 pip install nomedomodulo

Não seria interessante usar o mesmo método para distribuir a sua aplicação? Sim? Então, mãos à obra.

Sobre o PyPI – Python Package Index


O site PyPI ([Link] é um repositório de softwares desenvolvidos na linguagem Python. Em outras palavras, ele
garante que seu pacote Python sempre esteja disponível para a instalação. O seu funcionamente é simples, porém algumas
configurações inicias devem ser feitas para que tudo funcione corretamente.

Crie uma conta

Primeiramente, para distribuir seus pacotes usando o PyPI ([Link] precisamos criar uma conta em ambos os
sites:

 PyPI Live ([Link]

 PyPI Test ([Link]

Recomendo que você utilize o mesmo email e senha para ambos os sites. Posteriormente, isso tornará mais fácil o processo de
configuração.

Configurando o ambiente

O próximo passo é criar um arquivo .pypirc em sua home. Esse arquivo contem informações de autenticação, tanto para o PyPI Live
([Link] quando para o PyPI Test ([Link]

1 touch ~/.pypirc

Apesar de não ser obrigatório a criação desse aquivo, ele facilita muito nosso trabalho, uma vez que você não precisaremos inserir
nosso email e senha toda vez que formos enviar nosso código para o PyPI Live ([Link]

Abra o arquivo .pypirc em seu editor de texto favorito, e insira as informações abaixo.

[Link] 2/7
26/04/2023, 19:24 Como distribuir sua aplicação Python com PyPI | iMasters

1 [distutils]

2 index-servers =

3 pypi

4 pypitest

5
6 [pypi]

7 repository=[Link]

8 username=seu_nomedeusuario

9 password=sua_senha

10
[pypitest]
11
repository=[Link]
12
username=seu_nomedeusuario
13
password=sua_senha
14

Em username insira seu nome de usuário e password, insira sua senha. Faça isso tanto para o pypi quanto para o pypitest.

Um observação importante é que, caso a sua senha possua espaço, não a coloque entre aspas. Por exemplo, se a sua senha for
“batuque da viola doida”, coloque exatamente o mesmo texto em password.

1 password=batuque da viola doida

Preparando o seu módulo Python


Todo pacote distribuído pelo PyPI ([Link] precisa ter uma arquivo [Link] em seu diretório raiz. E se seu
projeto também usa um arquivo readme em markdown(normalmente chamado [Link]) você também precisará criar um arquivo
chamado [Link] diretório raiz do módulo.

Como exemplo, iremos utilizar o módulo codigo_avulso_test_tutorial ([Link] que


criei para ser utilizado como exemplo em nossos tutoriais. Assim, temos a seguinte estrutura básica de diretórios:

1 .

2 ├── codigo_avulso_test_tutorial

3 │ ├── [Link]

4 │ ├── figura_geometrica.py

5 │ ├── __init__.py

6 │ └── [Link]

7 ├── LICENSE

8 ├── [Link]

9 ├── [Link]
├── [Link]
10
└── test
11
├── circulo_test.py
12
├── figura_geometrica_test.py
13
├── __init__.py
14
└── quadrado_test.py
15

Aqui, o que nos interessa são os arquivos [Link] e [Link]. Dentro do arquivo [Link] temos várias informações sobre nossa
aplicação que serão usadas pelo PyPI ([Link]

[Link] 3/7
26/04/2023, 19:24 Como distribuir sua aplicação Python com PyPI | iMasters

1 # -*- coding: utf-8 -*-

2 from setuptools import setup

3
4 setup(

5 name='codigo-avulso-test-tutorial',

6 version='0.1.1',

7 url='[Link]

8 license='MIT License',

9 author='Michell Stuttgart',
author_email='michellstut@[Link]',
10
keywords='tutorial test unittest codigoavulso',
11
description=u'Tutorial de teste unitário em Python para o blog Código Avulso',
12
packages=['codigo_avulso_test_tutorial'],
13
install_requires=[],
14
)
15

O nome de cada tag é autoexplicativo, então não vou entrar em detalhes. Basta você usar o código acima e substituir com os dados
do seu pacote.

O próximo passo é adicionar o seguinte conteúdo no arquivo [Link] (caso você o tenha criado).

1 [metadata]

2 description-file = [Link]

Esse arquivo irá dizer ao PyPI ([Link] onde seu arquivo readme está.

Publicando sua aplicação Python

Agora iremos estudar os passos para enviar nossa aplicação para PyPI ([Link] para que ela fique disponível
para ser instalada através do pip.

Enviando para PyPI Test

Primeiramente, vamos registrar nossa aplicação no PyPI Test ([Link] Esse passo serve para verificarmos se
está tudo certo com nosso pacote e também validar se já não existe outro módulo com o mesmo nome. Registramos nossa
aplicação com o seguinte comando:

1 python [Link] register -r pypitest

Se tudo ocorrer bem teremos a seguinte saída (Server responde 200):

1 running register

2 running egg_info

3 creating codigo_avulso_test_tutorial.egg-info

4 writing codigo_avulso_test_tutorial.egg-info/PKG-INFO

5 writing top-level names to codigo_avulso_test_tutorial.egg-info/top_level.txt

6 writing dependency_links to codigo_avulso_test_tutorial.egg-info/dependency_links.txt

7 writing manifest file 'codigo_avulso_test_tutorial.egg-info/[Link]'

8 reading manifest file 'codigo_avulso_test_tutorial.egg-info/[Link]'

9 writing manifest file 'codigo_avulso_test_tutorial.egg-info/[Link]'


running check
10
Registering codigo-avulso-test-tutorial to [Link]
11
Server response (200): OK
12

Caso exista outro pacote com o mesmo nome, teríamos de escolher outro nome para o nosso pacote. Agora com nosso pacote
devidamente registrado, executamos o comando abaixo para que o pacote seja enviado para o PyPI Test
([Link]

1 python [Link] sdist upload -r pypitest

Se tudo ocorrer bem (Server responde 200), você verá uma saída semelhante a esta e já poderá ver sua aplicação na lista do PyPI
Test ([Link]

[Link] 4/7
26/04/2023, 19:24 Como distribuir sua aplicação Python com PyPI | iMasters

1 running sdist

2 running egg_info

3 writing codigo_avulso_test_tutorial.egg-info/PKG-INFO

4 writing top-level names to codigo_avulso_test_tutorial.egg-info/top_level.txt

5 writing dependency_links to codigo_avulso_test_tutorial.egg-info/dependency_links.txt

6 reading manifest file 'codigo_avulso_test_tutorial.egg-info/[Link]'

7 writing manifest file 'codigo_avulso_test_tutorial.egg-info/[Link]'

8 warning: sdist: standard file not found: should have one of README, [Link], [Link]

9
.
10
.
11
.
12
13
creating dist
14
Creating tar archive
15
removing 'codigo-avulso-test-tutorial-0.1.1' (and everything under it)
16
running upload
17
Submitting dist/[Link] to [Link]
18
Server response (200): OK
19

Enviando para PyPI Live


Agora é pra valer. Executamos o mesmo passos para o PyPI Test ([Link]

1 python [Link] register -r pypi

Tudo ocorrendo bem, enviamos nosso pacote:

1 python [Link] sdist upload -r pypi

Parabéns! Com esse ultimo passo, publicamos o nosso pacote Python com sucesso! Agora ele pode ser visualizado na lista de
aplicações ([Link] do PyPI ([Link] e ser instalado
usando pip.

1 pip install nomedopacote

Ou, para o nosso exemplo:

1 pip install codigo_avulso_test_tutorial

Conclusão
É isso, pessoal. Vimos como distribuir nossa aplicação Python, desde a crição na conta no PyPI ([Link] até o
registro e upload da nossa aplicação. Espero que tenham gostado e caso tenham alguma dúvida, deixem um comentário.

Obrigado pela leitura e até o próximo!

Referências

 Documentação oficial ([Link]

 How to Host your Python Package on PyPI with GitHub ([Link]


using-github-on-pypi)

 How to submit a package to PyPI ([Link]

De 0 a 10, o quanto você recomendaria este artigo para um amigo?

0 1 2 3 4 5 6 7 8 9 10

[Link] 5/7
26/04/2023, 19:24 Como distribuir sua aplicação Python com PyPI | iMasters
ARTIGOS PUBLICADOS POR ESTE AUTOR

MICHELL STUTTGART (HTTPS://[Link]/PERFIL/MICHELLSTUTTGART)


1 MAI, 2018

Criando dicts a partir de outros dicts ([Link]

MICHELL STUTTGART (HTTPS://[Link]/PERFIL/MICHELLSTUTTGART)


2 FEV, 2018

Mate e Cinnamon: como reiniciar a configuração dos painéis de menu ([Link]


configuracao-dos-paineis-de-menu)

MICHELL STUTTGART (HTTPS://[Link]/PERFIL/MICHELLSTUTTGART)


8 NOV, 2017

Python – Calculando diferença de dias entre duas datas ([Link]

MICHELL STUTTGART (HTTPS://[Link]/PERFIL/MICHELLSTUTTGART)


14 AGO, 2017

Git – Realizando o checkout de Pull Requests localmente ([Link]

MICHELL STUTTGART (HTTPS://[Link]/PERFIL/MICHELLSTUTTGART)


26 MAI, 2017

Git – Como mover um subdiretório entre repositórios ([Link]

MICHELL STUTTGART (HTTPS://[Link]/PERFIL/MICHELLSTUTTGART)


21 ABR, 2017

Peewee – Um ORM Python minimalista ([Link]

Michell Stuttgart
([Link] ([Link]
12 Artigo(s)
SAIBA MAIS
(HTTPS://[Link]/PERFIL/MICHELLSTUTTGART)
Bacharel em Engenharia da Computação pela Universidade
Federal de Itajubá. É apaixonado por desenvolvimento de
software, tecnologia e ciências, além de ser entusiasta da
filosofia de Software Livre. Desenvolvedor Python e Linux
User, também contribui em diversos projetos Open Source
(incluindo projetos próprios) e colaborada nos blogs Código
Avulso e PythonClub. Sempre está em busca de novos
conhecimentos e de compartilhar o que aprende.

ASSINE NOSSA

Newsletter
Fique em dia com as novidades do iMasters! Assine nossa newsletter e receba
conteúdos especiais curados por nossa equipe

Qual é o seu e-mail?

ASSINAR

SOBRE O IMASTERS (HTTPS://[Link]/P/SOBRE-O-IMASTERS)

[Link] 6/7
26/04/2023, 19:24 Como distribuir sua aplicação Python com PyPI | iMasters

POLÍTICA DE PRIVACIDADE (HTTPS://[Link]/P/POLITICA-DE-PRIVACIDADE)

FALE CONOSCO (HTTPS://[Link]/FALE-CONOSCO/)

QUERO SER AUTOR (HTTPS://[Link]/P/QUERO-SER-AUTOR)

FÓRUM (HTTPS://[Link]/)

CBR (HTTPS://[Link]/)

[Link] 7/7

Você também pode gostar