
Gerenciamento de dependência? Shaw, de novo?
O ecossistema Python gerou várias maneiras de gerenciar dependências em projetos.
No momento, você pode escolher entre setup.py, requirements.txt, setup.cfg, MANIFEST.in e Pipfile.
Mas o pitonista francês Sébastien Eustace não elaborou todos esses métodos e escreveu o seu próprio material para o gerenciamento de pacotes de animais de estimação - a poesia . Por que ele fez isso? Para substituir todos esses setup.py, requirements.txt, setup.cfg, MANIFEST.in e Pipfile por algo simples e direto. Além disso, adicione algo útil na parte superior.

A poesia permite orientar várias coisas ao mesmo tempo - a versão do idioma em seu projeto, dependências, caminhos conectáveis, scripts de teste / desenvolvimento, compilação e publicação de compilações.Todos os caminhos, dependências e scripts necessários são descritos em um arquivo pyproject.toml especial.
A poesia funciona melhor quando combinada com o pyenv , um sistema para gerenciar várias versões do Python e ambientes virtuais.
Sentir
Arregace as mangas e veja como a poesia funciona nos negócios. A primeira coisa a fazer é colocar pyenv , seguindo as instruções oficiais nas docas.
O ambiente está instalado e configurado, as dependências são controladas com um dedo, você pode cortar o código!
Você provavelmente terá em seu projeto comandos para iniciar o servidor, trabalhadores, scripts de implantação e testes. Você pode colocá-los em pyproject.toml e também direcioná-los com um dedo.
Adicionar ao arquivo
my-script = "my_module:main"
e agora você pode executar o script com o comando
poetry run my-script
Por que isso é tudo?
Gastando uma dúzia de minutos para dominar isso, você economizará tempo e nervosismo ao gerenciar versões do idioma e dos pacotes, rastrear dependências e definir caminhos. Isso ajudará especialmente aqueles que pelo menos uma vez tentaram publicar seus desenvolvimentos no pip :)
- Um resolvedor de dependência capaz de sempre encontrar uma solução para conflitos de versão do pacote (se houver)
- Crie automaticamente caixas de proteção para executar projetos.
- Um bom utilitário de console que simplifica bastante os projetos de lançamento, testes e implantação.
A poesia é amiga de outros controladores de ambiente virtual; portanto, integrar a nova abordagem em projetos antigos será muito fácil.