Ir al contenido

Modulos, pip y entornos

Cuando un archivo crece demasiado, lo dividimos. En Python, cada archivo .py puede funcionar como modulo.

Archivo operaciones.py:

def sumar(a, b):
return a + b
def restar(a, b):
return a - b

Archivo main.py:

from operaciones import sumar, restar
print(sumar(10, 5))
print(restar(10, 5))

Salida:

15
5
import operaciones
print(operaciones.sumar(2, 3))

Salida:

5

Usa este patron:

def main():
print("Ejecutando programa")
if __name__ == "__main__":
main()

Asi main() se ejecuta cuando corres el archivo directamente, pero no cuando lo importas desde otro modulo.

El flujo recomendado:

Ventana de terminal
python -m venv .venv
python -m pip install requests
python -m pip freeze > requirements.txt

Ejemplo con requests:

import requests
respuesta = requests.get("https://api.github.com")
print(respuesta.status_code)
print(type(respuesta.json()))

Salida esperada:

200
<class 'dict'>

Retorno: respuesta.json() devuelve un diccionario si la respuesta contiene JSON valido.

curso-python/
.venv/
main.py
operaciones.py
requirements.txt
datos/
tareas.txt

Un paquete es una carpeta con modulos.

app/
__init__.py
usuarios.py
reportes.py
main.py

main.py:

from app.usuarios import normalizar_nombre
print(normalizar_nombre(" ana "))

app/usuarios.py:

def normalizar_nombre(nombre):
return nombre.strip().title()

Salida:

Ana
  • No instales paquetes globalmente si el proyecto puede tener .venv.
  • Guarda dependencias en requirements.txt.
  • Evita archivos con nombres de librerias conocidas: json.py, requests.py, csv.py.
  • Separa funciones reutilizables en modulos pequenos.

Crea un modulo texto.py con estas funciones:

def limpiar(texto):
return texto.strip().lower()
def contar_palabras(texto):
return len(texto.split())

Luego importalas desde main.py y prueba:

from texto import limpiar, contar_palabras
frase = " Aprender Python gratis es posible "
print(limpiar(frase))
print(contar_palabras(frase))

Salida:

aprender python gratis es posible
5