Petty Petty Joy # 3: Poesia


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.


imagem


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.


#  pyenv,        $ pyenv update #     Python     $ pyenv install -l #    ,       $ pyenv install 3.7.3 #      zlib,    # CFLAGS="-I$(xcrun --show-sdk-path)/usr/include" pyenv install 3.7.3 #          $ pyenv local 3.7.3 #  poetry $ pip3 install poetry #    $ poetry init # Poetry         pyproject.toml,       #     .       ,      . $ poetry add flask celery # Poetry       pyproject.toml #     ,     PIP (,       ),     $ poetry add my-package --path ../my-package/ #       $ poetry show #        Python $ poetry run python #      Python   ,     flask  celery,    . 

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.

Source: https://habr.com/ru/post/pt455335/


All Articles