python python-3.x python-3.4 python-module

Recargar un módulo en Python 3.4



python-3.x python-3.4 (1)

Esta pregunta ya tiene una respuesta aquí:

Sé que esto puede sonar como una pregunta realmente estúpida, pero lo que sea. Hice un pequeño script en Python y realicé algunos cambios mientras estaba en un shell. Normalmente, en una computadora OS X (está ejecutando Python 2.7), simplemente escribiría reload(the_module) y recargaría mi módulo que incluye los cambios que he realizado. Sin embargo, cuando estoy recargando el módulo aquí (en windows python v. 3.4), simplemente me da esto:

>>> reload(instfile) Traceback (most recent call last): File "<pyshell#5>", line 1, in <module> reload(instfile) NameError: name ''reload'' is not defined

Y luego, cuando imp.reload(my_module) , simplemente dice que la función está en desuso. Parece que no puedo encontrar cuál sería la nueva función (o su equivalente) en cualquier lugar, así que si alguien me puede ayudar, ¡eso sería genial! :)


El módulo imp fue obsoleto en Python 3.4 en favor del módulo importlib . De la documentaion para el módulo imp :

En desuso desde la versión 3.4: El paquete imp está en desuso en favor de importlib .

Entonces, deberías usar la función de reload desde allí:

>>> import importlib >>> importlib.reload <function reload at 0x01BA4030> >>> importlib.reload(the_module)