¿Qué es Pip?
pip es el gestor de paquetes de Python.
Permite:
Instalar librerías
Actualizarlas
Desinstalarlas
Consultar versiones
Crear archivos de dependencias
Es la herramienta que conecta Python con PyPI.
¿Qué es PyPI?
PyPI (Python Package Index) es el repositorio oficial donde se publican las librerías de Python. Es como la “App Store” de Python.
Ejemplos de paquetes en PyPI:
requestsflasknumpypandasbeautifulsoup4
1. Instalar paquetes con pip
pip install requests
Instalar una versión específica:
pip install flask==2.3.2
Actualizar:
pip install --upgrade requests
Desinstalar:
pip uninstall requests
2. Ver paquetes instalados
pip list
Buscar un paquete:
pip search nombre
3. Crear un archivo de dependencias (requirements.txt)
Guardar las librerías instaladas:
pip freeze > requirements.txt
Instalar desde ese archivo:
pip install -r requirements.txt
Perfecto para proyectos colaborativos.
4. Crear tu propio paquete Python
Aquí empieza lo interesante: Tus alumnos pueden convertir su código en un paquete instalable.
Estructura básica
mi_paquete/
mi_paquete/
__init__.py
funciones.py
pyproject.toml
README.md
5. Archivo pyproject.toml (moderno y recomendado)
Ejemplo mínimo:
[project]
name = "mi_paquete"
version = "0.1.0"
description = "Un paquete de ejemplo"
authors = [
{ name="Tu Nombre", email="tu@mail.com" }
]
readme = "README.md"
requires-python = ">=3.8"
6. Crear el paquete (build)
Instalar herramientas de empaquetado:
pip install build
Construir el paquete:
python -m build
Esto genera:
un archivo
.tar.gzun archivo
.whl(wheel)
7. Instalar tu paquete localmente
pip install dist/mi_paquete-0.1.0-py3-none-any.whl
8. Subir el paquete a PyPI
Instalar Twine:
pip install twine
Subir:
twine upload dist/*
Necesitas una cuenta en PyPI.
ACTIVIDAD PRÁCTICA: “Crea y publica tu propia librería”
Objetivo: que tus alumnos creen un paquete real y lo instalen con pip.
Enunciado
Crea una carpeta
calculadora_avanzadaDentro, crea un módulo con funciones:
sumar(a, b)restar(a, b)multiplicar(a, b)dividir(a, b)
Añade un
pyproject.tomlcon metadatosCrea un
README.mdConstruye el paquete
Instálalo localmente con pip
(Opcional) Publícalo en PyPI
Solución propuesta (estructura)
calculadora_avanzada/funciones.py
def sumar(a, b):
return a + b
def restar(a, b):
return a - b
def multiplicar(a, b):
return a * b
def dividir(a, b):
if b == 0:
raise ValueError("No se puede dividir entre cero")
return a / b
calculadora_avanzada/__init__.py
from .funciones import sumar, restar, multiplicar, dividir
pyproject.toml
[project]
name = "calculadora-avanzada"
version = "0.1.0"
description = "Una calculadora simple para FP"
readme = "README.md"
requires-python = ">=3.8"
Resultado esperado
Los alumnos crean su propio paquete
Lo instalan con pip
Entienden cómo funciona PyPI
Aprenden buenas prácticas de distribución