Petty Petty Joy # 3: Poesía


Gestión de dependencias? Shaw, de nuevo?


El ecosistema de Python ha generado muchas formas de administrar las dependencias en los proyectos.
En este momento puede elegir entre setup.py, required.txt, setup.cfg, MANIFEST.in y Pipfile.
Pero el pitonista francés Sébastien Eustace no resolvió todos estos métodos, y escribió lo suyo para el manejo de los paquetes de mascotas: poesía . ¿Por qué hizo esto? Para reemplazar todos estos setup.py, require.txt, setup.cfg, MANIFEST.in y Pipfile con algo simple y directo. Además, agregue algo útil en la parte superior.


imagen


Poetry le permite dirigir un montón de cosas a la vez: la versión de idioma de su proyecto, dependencias, rutas conectables, scripts de prueba / desarrollo, compilaciones y publicaciones de compilaciones. Todas las rutas, dependencias y scripts necesarios se describen en un archivo especial pyproject.toml .


La poesía funciona mejor cuando se combina con pyenv , un sistema para administrar múltiples versiones de Python y entornos virtuales.


Sentir


Enrolle nuestras mangas y vea cómo funciona la poesía en los negocios. Lo primero que debe hacer es poner pyenv , siguiendo las instrucciones oficiales en los muelles.


#  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,    . 

El entorno está instalado y configurado, las dependencias se controlan con un dedo, ¡puede cortar el código!


Lo más probable es que tenga en su proyecto comandos para iniciar el servidor, los trabajadores, los scripts de implementación y las pruebas. Puede ponerlos en pyproject.toml y también dirigirlos con un dedo.


Agregar al archivo


 my-script = "my_module:main" 

y ahora puedes ejecutar el script con el comando


 poetry run my-script 

¿Por qué es todo esto?


Dedicando una docena de minutos a dominar esto, ahorrará tiempo y nervios en la administración de versiones del idioma y los paquetes, el seguimiento de dependencias y la configuración de rutas. Esto ayudará especialmente a aquellos que al menos una vez intentaron publicar sus desarrollos en pip :)


  • Un solucionador de dependencias capaz de encontrar siempre una solución a los conflictos de versión del paquete (si es que existe)
  • Crear automáticamente cajas de arena para ejecutar proyectos.
  • Una buena utilidad de consola que simplifica enormemente el lanzamiento, las pruebas y los proyectos de implementación.

La poesía es amiga de otros controladores de entorno virtual, por lo que será muy fácil integrar el nuevo enfoque en proyectos antiguos.

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


All Articles