Comprensión y Uso de Paquetes Python
A medida que los proyectos crecen, es posible que desee organizar módulos relacionados en una jerarquía de directorios única. Para esto sirven los paquetes. Un paquete es un directorio que contiene un archivo especial llamado __init__.py (que puede estar vacío). La presencia de este archivo le indica a Python que trate el directorio como un paquete.
Crearemos un paquete para alojar nuestro module_a.
Primero, cree un nuevo directorio llamado my_package en el directorio ~/project. Puede hacerlo haciendo clic derecho en el explorador de archivos y seleccionando "Nueva Carpeta".
mkdir my_package
A continuación, cree el archivo __init__.py requerido dentro del nuevo directorio my_package.
touch my_package/__init__.py
Ahora, mueva module_a.py al directorio my_package. Puede arrastrar y soltar el archivo en el explorador de archivos.
mv module_a.py my_package/
La estructura de su proyecto ahora debería verse así:
~/project/
├── main.py
├── hello.py
└── my_package/
├── __init__.py
└── module_a.py
Con esta estructura de paquete establecida, necesitamos actualizar cómo importamos module_a en nuestro script main.py. Para importar un módulo desde un paquete, se utilizan nombres de módulo con puntos, como nombre_del_paquete.nombre_del_modulo.
Abra main.py y modifíquelo para importar la función greet desde my_package.module_a:
from my_package.module_a import greet
greet("Package")
Guarde el archivo y ejecútelo:
python3 main.py
Debería ver la siguiente salida:
Hello, Package from module_a!
Esto muestra cómo importar un objeto específico desde un módulo dentro de un paquete. Alternativamente, podría importar el módulo en sí:
## Alternative import style
import my_package.module_a
my_package.module_a.greet("Alternative")
Los paquetes son una herramienta poderosa para organizar bases de código grandes, como librerías y frameworks, en una estructura clara y mantenible.