Contexto :
Había estado desarrollando un proyecto en python y había decidido mover funciones que solían separar archivos ( functions.py ). Lo había creado e importado en mi cuaderno. Después de eso, agregué algunas funciones al archivo.
Después de volver a cargar la celda con import, traté de ejecutar la celda con código, que usa la composición de functions.py , y descubrí que no se importó.
Reinicié el kernel y la celda se compiló.
¿Por qué el cuaderno no importó mi archivo por completo? ¿Tal vez porque se almacenó en caché la primera vez y no volvió a leer el archivo real?
Código de functions.py :
def composition(f:callable, g:callable) -> callable: def cmp(x): return f(g(x)) return cmpCódigo de proyecto.ipynb :
Celda 1:
from functions import *Celda2:
s = composition(lambda x: x**2, lambda x: x**4)Error:
--------------------------------------------------------------------------- NameError Traceback (most recent call last) /tmp/ipykernel_21766/3463491651.py in <module> ----> 1 s = composition(lambda x: x**2, lambda x: x**4) NameError: name 'composition' is not definedUso python 3.8.10 de 64 bits y el editor es Visual Studio Code 1.61.2