SlideShare uma empresa Scribd logo
por Gabriel Taufer - 05/2022
Gerenciando dependências em Python
de maneira fácil
● Meu nome é Gabriel Taufer
● Atuo há aproximadamente 5 anos na área
● Hoje ocupo o cargo de desenvolvedor
Python na Clevertech
Uma odisseia - gerenciamento de dependências e packaging
Antiguidade Idade média Era moderna
1990 - Disquetes? 2011 - PyPA 2016 - pyproject.toml
2000 - distutils 2012 - Conda 2017 - Independent builds
2003 - PyPI 2012 - pip-tools 2017 - pipenv
2004 - setuptools 2013 - wheel 2018 - poetry
2007 - virtualenv 2014 - PEP-440 sysver 2019 - pip updates
2008 - pip 2015 - PyPI Standards 2022 - PyCaxias
*Tabela inspirada nessa talk https://www.youtube.com/watch?v=QX_Nhu1zhlg&t=637s&ab_channel=PyGotham2019
pip?
pipenv?
venv?
virtualenv?
setuptools?
conda?
distutils?
PyPi?
requirements.txt?
pyenv?
pipfile?
PDM?
Pipx?
PyPA?
distutils?
Conhecendo o Poetry
● Gerenciamento de dependências e
packaging em Python
● Criado em 2018
● Fácil instalação e utilização
● Open source
Vantagens do Poetry
● Gerenciamento de dependências
juntamente com ambientes virtuais
● Configuração centralizada (pyproject.toml)
● Possui um lockfile (poetry.lock)
● Fácil implementação e remoção em um
projeto
● Possibilidade de exportar as dependências
em formato compatível com pip
*Imagem ilustrando a confusão que os ambientes Python podem gerar
O pyproject.toml
X
O poetry.lock
setuptools
twine
setup.py
setup.cfg
MANIFEST.in
pip
requirements.txt
pipenv
Pipfile
conda
pip-tools
poetry
pyproject.toml
O Poetry no ecossistema python
Packaging Gerenciamento
de dependência
Instalação e utilização básica
Como instalar o Poetry e entendendo os comandos mais básicos
Instalando o Poetry
*Screenshot tirada da documentação de instalação do Poetry
Configurando o Poetry em um projeto
Configurando o Poetry em um projeto
Adicionando uma dependência
Instalando dependências em um projeto já configurado
Talk is cheap. Show me the code.
Iniciando um projeto em Django com Poetry
Revisitando alguns tópicos
● Gerenciamento de dependências em um
nível extremamente detalhado, facilitando a
replicação de um mesmo ambiente em
diferentes casos
● Independência para criar e publicar pacotes
no PyPi sem precisar de outras libs
● Centralização de toda a configuração do
projeto em um único arquivo
● Fácil transição para adicionar e remover o
Poetry de um projeto
Outros tópicos interessantes
Mais alguns assuntos recentes/relacionados no universo Python
Pyenv
● Gerencia versões diferentes do python em
uma mesma máquina
● Permite alternar entre versões do python
rapidamente
● Funciona bem em conjunto com o Poetry
Pipx
● Gerenciamento de dependência e ambientes
virtuais
● Parecido com o Poetry, porém sem o sistema
de packaging
PDM
● Referente à PEP-582
● Propõe uma estrutura sem a presença de
uma virtualenv
● Usa a pasta __pypackages__ para salvar a
dependências (semelhante a node_modules
do JS)
Agradecimentos
À organização do evento, por toda a
dedicação
Aos amigos e colegas de trabalho que
também contribuíram com a apresentação
A todas as pessoas presentes no evento, que
tornam a nossa comunidade cada vez maior
github.com/gabriel-taufer

Mais conteúdo relacionado

Mais procurados

Răspunderea juridică în dreptul muncii Patrascu Frincu Mihaela Hanelore
Răspunderea juridică în dreptul muncii Patrascu Frincu Mihaela HaneloreRăspunderea juridică în dreptul muncii Patrascu Frincu Mihaela Hanelore
Răspunderea juridică în dreptul muncii Patrascu Frincu Mihaela Hanelore
Marketing Communication Health &Medicine
 
The wonderful pear tree
The wonderful pear treeThe wonderful pear tree
The wonderful pear tree
RonelDayag3
 
SURVEY OF PHILIPPINE LITERATURE REVIEWER_073502.docx
SURVEY OF PHILIPPINE LITERATURE REVIEWER_073502.docxSURVEY OF PHILIPPINE LITERATURE REVIEWER_073502.docx
SURVEY OF PHILIPPINE LITERATURE REVIEWER_073502.docx
ChlaireGongora
 
Korean literature Group4 12-Modeller
Korean literature Group4 12-ModellerKorean literature Group4 12-Modeller
Korean literature Group4 12-Modeller
emem betiong
 
Hebrew literature
Hebrew literatureHebrew literature
Hebrew literature
abc123_sumpa
 
Afro asian lit
Afro asian litAfro asian lit
Afro asian lit
Ivy Corazon Panelo
 
3 development of phil lit
3 development of phil lit3 development of phil lit
3 development of phil lit
107007calvinxd
 
History of festivals
History of festivalsHistory of festivals
History of festivals
cfgscmsuma
 
The Tale of Genji PowerPoint
The Tale of Genji PowerPointThe Tale of Genji PowerPoint
The Tale of Genji PowerPoint
nathanaelgrace
 
Korean literature
Korean literatureKorean literature
Korean literature
ladybug10
 
Literature of korea
Literature of koreaLiterature of korea
Literature of korea
Reinabelle Castro
 
Literary Genres
Literary GenresLiterary Genres
Literary Genres
Lala Jeon
 
Mother Goose Rhymes
Mother Goose RhymesMother Goose Rhymes
Mother Goose Rhymes
Sherwin Daquioag
 
English 9 - Sermon
English 9 - SermonEnglish 9 - Sermon
English 9 - Sermon
Juan Miguel Palero
 
Korean literature
Korean literature Korean literature
Korean literature
robinreyes15
 
Final Demo PPT.pptx
Final Demo PPT.pptxFinal Demo PPT.pptx
Final Demo PPT.pptx
CharessBarrios1
 
Israel and Hebrew Literature
Israel and Hebrew LiteratureIsrael and Hebrew Literature
Israel and Hebrew Literature
Ezr Acelar
 
Chinese literature
Chinese literatureChinese literature
Chinese literature
Merry Joy Ordinario
 
Let reviewer-all-in-18 pages (1)
Let reviewer-all-in-18 pages (1)Let reviewer-all-in-18 pages (1)
Let reviewer-all-in-18 pages (1)
DepEd
 
5 Filipino Prototype Syllabi Compendium.pdf
5 Filipino Prototype Syllabi Compendium.pdf5 Filipino Prototype Syllabi Compendium.pdf
5 Filipino Prototype Syllabi Compendium.pdf
RuthChavezSenador
 

Mais procurados (20)

Răspunderea juridică în dreptul muncii Patrascu Frincu Mihaela Hanelore
Răspunderea juridică în dreptul muncii Patrascu Frincu Mihaela HaneloreRăspunderea juridică în dreptul muncii Patrascu Frincu Mihaela Hanelore
Răspunderea juridică în dreptul muncii Patrascu Frincu Mihaela Hanelore
 
The wonderful pear tree
The wonderful pear treeThe wonderful pear tree
The wonderful pear tree
 
SURVEY OF PHILIPPINE LITERATURE REVIEWER_073502.docx
SURVEY OF PHILIPPINE LITERATURE REVIEWER_073502.docxSURVEY OF PHILIPPINE LITERATURE REVIEWER_073502.docx
SURVEY OF PHILIPPINE LITERATURE REVIEWER_073502.docx
 
Korean literature Group4 12-Modeller
Korean literature Group4 12-ModellerKorean literature Group4 12-Modeller
Korean literature Group4 12-Modeller
 
Hebrew literature
Hebrew literatureHebrew literature
Hebrew literature
 
Afro asian lit
Afro asian litAfro asian lit
Afro asian lit
 
3 development of phil lit
3 development of phil lit3 development of phil lit
3 development of phil lit
 
History of festivals
History of festivalsHistory of festivals
History of festivals
 
The Tale of Genji PowerPoint
The Tale of Genji PowerPointThe Tale of Genji PowerPoint
The Tale of Genji PowerPoint
 
Korean literature
Korean literatureKorean literature
Korean literature
 
Literature of korea
Literature of koreaLiterature of korea
Literature of korea
 
Literary Genres
Literary GenresLiterary Genres
Literary Genres
 
Mother Goose Rhymes
Mother Goose RhymesMother Goose Rhymes
Mother Goose Rhymes
 
English 9 - Sermon
English 9 - SermonEnglish 9 - Sermon
English 9 - Sermon
 
Korean literature
Korean literature Korean literature
Korean literature
 
Final Demo PPT.pptx
Final Demo PPT.pptxFinal Demo PPT.pptx
Final Demo PPT.pptx
 
Israel and Hebrew Literature
Israel and Hebrew LiteratureIsrael and Hebrew Literature
Israel and Hebrew Literature
 
Chinese literature
Chinese literatureChinese literature
Chinese literature
 
Let reviewer-all-in-18 pages (1)
Let reviewer-all-in-18 pages (1)Let reviewer-all-in-18 pages (1)
Let reviewer-all-in-18 pages (1)
 
5 Filipino Prototype Syllabi Compendium.pdf
5 Filipino Prototype Syllabi Compendium.pdf5 Filipino Prototype Syllabi Compendium.pdf
5 Filipino Prototype Syllabi Compendium.pdf
 

Semelhante a Poetry.pdf

TDC2016POA | Trilha Python - Python Assíncrono: tudo ao mesmo tempo agora
TDC2016POA | Trilha Python - Python Assíncrono: tudo ao mesmo tempo agoraTDC2016POA | Trilha Python - Python Assíncrono: tudo ao mesmo tempo agora
TDC2016POA | Trilha Python - Python Assíncrono: tudo ao mesmo tempo agora
tdc-globalcode
 
BeavOps : Como o Python ajudou a integrar o mundo DevOps
BeavOps : Como o Python ajudou a integrar o mundo DevOpsBeavOps : Como o Python ajudou a integrar o mundo DevOps
BeavOps : Como o Python ajudou a integrar o mundo DevOps
4LinuxCursos
 
Canivete python
Canivete pythonCanivete python
Canivete python
Anderson Dantas
 
Por Que Python - #PUGCE
Por Que Python - #PUGCEPor Que Python - #PUGCE
Por Que Python - #PUGCE
Tiago Freire
 
Portal Padrão - passado . presente . futuro, #WPD 2014
Portal Padrão - passado . presente . futuro, #WPD 2014Portal Padrão - passado . presente . futuro, #WPD 2014
Portal Padrão - passado . presente . futuro, #WPD 2014
Tania Andrea
 
Oficina Mergulhando no Plone 4
Oficina Mergulhando no Plone 4Oficina Mergulhando no Plone 4
Oficina Mergulhando no Plone 4
Tania Andrea
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
Evaldo Junior
 
Python Nordeste 2016 - Aplicações multiplataforma - Kivy
Python Nordeste 2016 - Aplicações multiplataforma - KivyPython Nordeste 2016 - Aplicações multiplataforma - Kivy
Python Nordeste 2016 - Aplicações multiplataforma - Kivy
Julio Cesar Eiras Melanda
 
Hello, Python!
Hello, Python!Hello, Python!
Hello, Python!
Eduardo Araujo
 
Docker como super comando
Docker como super comandoDocker como super comando
Docker como super comando
Rafael Gomes
 
WordCamp SP 2019 - PeachPie unindo Php com C# .Net Core
WordCamp SP 2019 - PeachPie unindo Php com C# .Net CoreWordCamp SP 2019 - PeachPie unindo Php com C# .Net Core
WordCamp SP 2019 - PeachPie unindo Php com C# .Net Core
Vanessa Valle
 
Trabalhando com Módulos no Puppet
Trabalhando com Módulos no PuppetTrabalhando com Módulos no Puppet
Trabalhando com Módulos no Puppet
Jose Augusto Carvalho
 
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Renato Groff
 
Python e Dispositivos Móveis
Python e Dispositivos MóveisPython e Dispositivos Móveis
Python e Dispositivos Móveis
pugpe
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!
Felipe Queiroz
 
Virtualenv e Pip
Virtualenv e PipVirtualenv e Pip
Virtualenv e Pip
Renzo Nuccitelli
 
Python para devs
Python para devsPython para devs
Python para devs
Evaldo Junior
 
Ensinando OO com Python
Ensinando OO com PythonEnsinando OO com Python
Ensinando OO com Python
Luciano Ramalho
 
Plone: O CMS da moda? - Consegi 2013
Plone: O CMS da moda? - Consegi 2013Plone: O CMS da moda? - Consegi 2013
Plone: O CMS da moda? - Consegi 2013
Tania Andrea
 
Canivete suíço do Python
Canivete suíço do PythonCanivete suíço do Python
Canivete suíço do Python
Douglas Soares de Andrade
 

Semelhante a Poetry.pdf (20)

TDC2016POA | Trilha Python - Python Assíncrono: tudo ao mesmo tempo agora
TDC2016POA | Trilha Python - Python Assíncrono: tudo ao mesmo tempo agoraTDC2016POA | Trilha Python - Python Assíncrono: tudo ao mesmo tempo agora
TDC2016POA | Trilha Python - Python Assíncrono: tudo ao mesmo tempo agora
 
BeavOps : Como o Python ajudou a integrar o mundo DevOps
BeavOps : Como o Python ajudou a integrar o mundo DevOpsBeavOps : Como o Python ajudou a integrar o mundo DevOps
BeavOps : Como o Python ajudou a integrar o mundo DevOps
 
Canivete python
Canivete pythonCanivete python
Canivete python
 
Por Que Python - #PUGCE
Por Que Python - #PUGCEPor Que Python - #PUGCE
Por Que Python - #PUGCE
 
Portal Padrão - passado . presente . futuro, #WPD 2014
Portal Padrão - passado . presente . futuro, #WPD 2014Portal Padrão - passado . presente . futuro, #WPD 2014
Portal Padrão - passado . presente . futuro, #WPD 2014
 
Oficina Mergulhando no Plone 4
Oficina Mergulhando no Plone 4Oficina Mergulhando no Plone 4
Oficina Mergulhando no Plone 4
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
Python Nordeste 2016 - Aplicações multiplataforma - Kivy
Python Nordeste 2016 - Aplicações multiplataforma - KivyPython Nordeste 2016 - Aplicações multiplataforma - Kivy
Python Nordeste 2016 - Aplicações multiplataforma - Kivy
 
Hello, Python!
Hello, Python!Hello, Python!
Hello, Python!
 
Docker como super comando
Docker como super comandoDocker como super comando
Docker como super comando
 
WordCamp SP 2019 - PeachPie unindo Php com C# .Net Core
WordCamp SP 2019 - PeachPie unindo Php com C# .Net CoreWordCamp SP 2019 - PeachPie unindo Php com C# .Net Core
WordCamp SP 2019 - PeachPie unindo Php com C# .Net Core
 
Trabalhando com Módulos no Puppet
Trabalhando com Módulos no PuppetTrabalhando com Módulos no Puppet
Trabalhando com Módulos no Puppet
 
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
 
Python e Dispositivos Móveis
Python e Dispositivos MóveisPython e Dispositivos Móveis
Python e Dispositivos Móveis
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!
 
Virtualenv e Pip
Virtualenv e PipVirtualenv e Pip
Virtualenv e Pip
 
Python para devs
Python para devsPython para devs
Python para devs
 
Ensinando OO com Python
Ensinando OO com PythonEnsinando OO com Python
Ensinando OO com Python
 
Plone: O CMS da moda? - Consegi 2013
Plone: O CMS da moda? - Consegi 2013Plone: O CMS da moda? - Consegi 2013
Plone: O CMS da moda? - Consegi 2013
 
Canivete suíço do Python
Canivete suíço do PythonCanivete suíço do Python
Canivete suíço do Python
 

Último

História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 

Último (6)

História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 

Poetry.pdf