Tengo un paquete Python mymodule
con un subpaquete utils
(es decir, un subdirectorio que contiene módulos cada uno con una función). Las funciones tienen el mismo nombre que el archivo/módulo en el que viven.Importación de una función/clase de un módulo Python del mismo nombre
Me gustaría ser capaz de acceder a las funciones de la siguiente manera,
from mymodule.utils import a_function
embargo Curiosamente, a veces me puede importar funciones usando la notación anterior, sin embargo otras veces no puedo. Sin embargo, no he podido averiguar por qué (recientemente, por ejemplo, cambié el nombre de una función y el archivo en el que estaba y reflejé este cambio de nombre en el archivo utils.__init__.py
pero ya no importé como funciones (más bien como un módulo) en una de mis guiones.
El utils.__init__.py
lee algo así como,
__all__ = ['a_function', 'b_function' ...]
from a_function import a_function
from b_function import b_function
...
mymodule.__init__.py
tiene ninguna referencia a utils
ideas?
¿Cuál es la diferencia entre 'import mymodule.utils as utils' y' from mymodule import utils'? –
@Mike DeSimone: Buen punto. Actualicé mi respuesta en consecuencia. –