es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Pasando –tag-build o –tag-date al constructor de setuptools PEP 517.

Estoy tratando de crear una instantánea/construcción diaria de mi paquete de Python, utilizando Setuptools y Build (el módulo de construcción PEP 517).

He intentado adaptar esta sección de la documentación de Setuptools: https://setuptools.pypa.io/en/latest/userguide/distribution.html#tagging-and-daily-build-or-snapshot-releases

Sin embargo, ninguno de los siguientes comandos funcionó:

python -m build --config-setting=--tag-date myproject
python -m build --config-setting=tag-date myproject
python -m build --tag-date myproject

Los primeros dos construyen el paquete sin la etiqueta de versión, mientras que el tercero es un error. Los resultados son los mismos cuando uso --tag-build en lugar de --tag-date.

¿Cómo puedo decirle a Setuptools que agregue la etiqueta de versión, si ninguna de las opciones anteriores funciona?

No tengo un setup.py, solo un setup.cfg. No puedo usar setup.py bdist_wheel --tag-date, este comando mostrará “Archivo no encontrado” porque setup.py no existe en mi proyecto.

EDITAR después de buscar en el rastreador de problemas de Setuptools, también intenté los siguientes comandos, sin éxito:

python -m build --config-setting=--global-options=--tag-date myproject
python -m build --config-setting=--global-options=tag-date myproject
python -m build --config-setting=global-options=--tag-date myproject
python -m build --config-setting=global-options=tag-date myproject
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como menciona la documentación de Setuptools, la opción --tag-date debería agregar una etiqueta basada en la fecha al número de versión durante el proceso de compilación. Sin embargo, dado que esto no está funcionando para ti, hay algunas otras opciones que puedes probar.

    Una opción es establecer manualmente el número de versión en tu archivo setup.cfg para incluir una etiqueta basada en la fecha. Por ejemplo, podrías utilizar el siguiente formato:

    version = 1.0.0.dev20211021
    

    Esto indicaría que esta es una versión de desarrollo del 21 de octubre de 2021. Luego podrías utilizar el comando python -m build para compilar tu paquete como de costumbre.

    Otra opción es utilizar un script para modificar tu archivo setup.cfg antes de ejecutar el comando de compilación. Por ejemplo, podrías escribir un script que lea la fecha actual y modifique el número de versión en tu archivo setup.cfg para incluir la etiqueta basada en la fecha. Esto te permitiría automatizar el proceso de agregar la etiqueta a tu número de versión.

    Finalmente, podrías intentar utilizar una herramienta de compilación diferente como flit o poetry, las cuales admiten etiquetado automático de versiones basado en la fecha o el hash de confirmación. Estas herramientas pueden ser más fáciles de usar que Setuptools para este caso de uso.

Comments are closed.