Cada vez que hago from 'x' import 'y'
me preguntaba cuál de ellos se considera el "módulo" y cuál es el "paquete", y ¿por qué no es al revés?
Cada vez que hago from 'x' import 'y'
me preguntaba cuál de ellos se considera el "módulo" y cuál es el "paquete", y ¿por qué no es al revés?
Un módulo de Python es simplemente un archivo fuente de Python, que puede exponer clases, funciones y variables globales.
Cuando se importa desde otro archivo fuente de Python, el nombre del archivo se trata como un espacio de nombres.
Un paquete de Python es simplemente un directorio de módulo (s) de Python.
Por ejemplo, imagine el siguiente árbol de directorios en /usr/lib/python/site-packages
:
mypackage/__init__.py <-- this is what tells Python to treat this directory as a package
mypackage/mymodule.py
Entonces harías:
import mypackage.mymodule
o
from mypackage.mymodule import myclass