Paquete vs módulo en Python

Siddharth Swami 22 octubre 2021
Paquete vs módulo en Python

Tenemos diferentes paquetes disponibles en Python. Cada paquete tiene su área de interés. Mientras trabajamos con Python, usamos diferentes funcionalidades que pertenecen a diferentes módulos o paquetes. Usamos los términos módulos y paquetes indistintamente.

Entenderemos la diferencia entre estos dos términos en este artículo.

Un módulo es un archivo de script que consta de varias funciones y variables globales. El archivo se guarda con una extensión .py. Estos archivos son ejecutables y pueden almacenar diferentes funciones y objetos. Para organizar los módulos, tenemos el concepto de Paquetes en Python.

Por otro lado, un paquete es un directorio simple que consta de colecciones de módulos. Un paquete contiene un archivo __init__.py adicional para que el intérprete lo interprete como un paquete. Podemos interpretarlo como una estructura de directorio de archivos jerárquica que define un único entorno de aplicación. Un paquete puede estar compuesto por otros subpaquetes más pequeños.

También se deben tener en cuenta las similitudes entre los dos. Para usarlos, los importamos usando la declaración import. Esto crea un objeto de tipo module independientemente de si estamos importando un módulo o un paquete. Sin embargo, al importar un paquete, solo las clases, funciones, variables son visibles, que son directamente visibles en el archivo __init__.py.

Entendamos esto con un ejemplo.

import xml

xml.etree

El código anterior devuelve un AttributeError. Para superar esto, podemos considerar el código que se proporciona a continuación.

import xml.etree

xml.etree

El código anterior no dará ningún error. Con suerte, a estas alturas, la diferencia entre un paquete y un módulo es clara.

Artículo relacionado - Python Module

Artículo relacionado - Python Package