Creación y Uso de Paquetes PIP en Python desde GitHub
Clase 41 de 42 • Curso de Git y GitHub
Resumen
Publicar un paquete propio en PyPI para utilizarlo como dependencia es un hito emocionante en el desarrollo de software. En esta guía, veremos el paso a paso para lanzar un release en GitHub, crear una aplicación en Python que consuma este paquete, y los consejos para compartir tus desarrollos en plataformas como Nuget y NPM.
¿Cómo crear un release en GitHub?
- Navegar a Releases: En tu repositorio, selecciona la opción de releases y elige crear un nuevo release.
- Definir el tag: Elige la versión adecuada, por ejemplo,
v0.1.0
para versiones preliminares. Asegúrate de que el tag coincida con la rama desde la que quieres lanzar el release, generalmentemain
. - Completar título y descripción: Utiliza el mismo tag en el título del release para mantener coherencia.
- Subir binarios: Agrega archivos binarios, como
.tar.gz
o.whl
, ubicados en la carpetadist
de tu proyecto. Esto garantiza que los usuarios puedan instalar el paquete con facilidad. - Publicar release: Una vez que hayas verificado los detalles, selecciona publicar release.
¿Cómo instalar el paquete desde GitHub?
Para instalar el paquete en un nuevo proyecto:
- Copiar el link del archivo .whl: Navega hasta el archivo
.whl
en GitHub, copia la URL. - Instalar el paquete: En la terminal de tu proyecto, ejecuta
pip3 install <URL_del_archivo_whl>
. Esto descargará e instalará el paquete. - Verificar instalación: Utiliza
pip3 list
para confirmar que el paquete aparece en la lista de dependencias instaladas.
¿Cómo consumir el paquete en una aplicación de Python?
- Preparar la estructura de carpetas: Crea una carpeta
app
en la raíz de tu repositorio y dentro de ella un archivoapp.py
. - Importar y usar el paquete: Dentro de
app.py
, usafrom <nombre_del_paquete> import <método>
, y escribe un código sencillo que ejecute este método, por ejemplo,print(saludo("Platzi"))
. - Ejecutar la aplicación: Desde la terminal, navega hasta la carpeta
app
y ejecutapython3 app.py
para ver el resultado en consola.
¿Cómo extender esta práctica a otros entornos?
- Paquetes NuGet en .NET: Crea y distribuye librerías en .NET usando el sistema de paquetes NuGet.
- Paquetes NPM en Node.js: Desarrolla y distribuye paquetes reutilizables para Node.
- Contribución comunitaria: Comparte tus paquetes y anima a otros a utilizarlos y mejorarlos.