¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Uma comparação detalhada de Pip, Conda e Poetry para a gestão de dependências em projetos Python

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 41 Vistas
0
Cargando...
Uma comparação entre diferentes ferramentas de gerenciamento de dependências para projetos em Python


Introdução


A gestão de dependências é um aspecto importante de qualquer projeto de programação que requer o uso de funcionalidades em bibliotecas e pacotes externos (bibliotecas e pacotes que não vêm com nosso ambiente de programação por padrão). Desenvolver aplicações complexas com a linguagem de programação Python é um exemplo disso. Existem várias ferramentas disponíveis para gerenciar as dependências de projetos em Python, como Pip, Conda e até Poetry. Embora seja compreensível que diferentes pessoas tenham preferências diferentes em relação às ferramentas de gerenciamento de dependências, gostaria de compartilhar mais sobre por que pode ser vantajoso usar Poetry em vez de Pip ou Conda. Apenas incluo Pip, Conda e Poetry neste artigo, pois são as ferramentas que utilizei pessoalmente.

Começos


Antes de prosseguir, acredito que seria bom entender um pouco mais sobre as diferentes ferramentas de gerenciamento de dependências que vamos comparar.

  • Conda: Conda é uma ferramenta de gerenciamento de dependências que vem com o Anaconda. O Anaconda costuma ser usado por iniciantes em ciência de dados que estão começando a programar em Python e não querem se preocupar muito em instalar as dependências comuns necessárias para o trabalho em ciência de dados, como numpy , pandas , jupyter e scikit-learn . Mais informações sobre o Conda podem ser encontradas em sua documentação , enquanto o Anaconda também possui sua própria página inicial .

  • Pip: Pip é uma ferramenta de gerenciamento de dependências que vem com a instalação padrão do Python para Windows e pode ser instalado via Homebrew para MacOS e pelo gerenciador de pacotes de distribuição para sistemas Linux (por exemplo, apt para Debian e Ubuntu). Este artigo do Real Python fornece uma boa descrição de como começar a usar o Pip.

  • Poetry: Poetry é uma ferramenta de gerenciamento de dependências mais recente que está ganhando visibilidade e popularidade entre os usuários de Python. O uso dos arquivos pyproject.toml e poetry.lock o torna semelhante à forma como o Gerenciador de Pacotes do Node (npm) funciona para o Node.js. Mais informações sobre o Poetry podem ser encontradas em sua documentação .


A Parte Divertida


Agora é onde tento convencer você de que o Poetry é a melhor escolha entre as 3 ferramentas de gerenciamento de dependências que descrevi anteriormente.

Esqueça completamente o Conda se planeja programar em Python para produção


Eu sei que "esquecer xx completamente" é uma afirmação bastante forte, mas tenho minhas razões para dizer isso.

Pacotes pré-instalados no Anaconda


Se executarmos o comando conda list no ambiente base, poderemos ver algo como isso no terminal:
(base) usuário:~$ conda list

# pacotes no ambiente em /home/usuario/anaconda3:
#
# Nome                    Versão                   Construir  Canal
_ipyw_jlab_nb_ext_conf    0.1.0            py39h06a4308_0  
_libgcc_mutex             0.1                        principal  
_openmp_mutex             4.5                       1_gnu  
alabaster                 0.7.12             pyhd3eb1b0_0
...
jupyter                   1.0.0            py39h06a4308_7
...
numpy                     1.20.3           py39hf144106_0
...
pandas                    1.3.4            py39h8c16a72_0
...
scikit-learn              0.24.2           py39ha9443f7_0
...
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

Sin respuestas

No hay respuestas para mostrar No hay respuestas para mostrar Se el primero en responder

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?