web-dev-qa-db-fra.com

Recharger un module dans Python 3.4

Je sais que cela peut sembler une question vraiment stupide, mais peu importe. J'ai fait un petit script dans Python et j'ai fait quelques changements dans un Shell. Normalement, sur un ordinateur OS X (il exécute Python 2.7), je tapais simplement reload(the_module) et il rechargeait mon module qui inclut les modifications que j'ai apportées. Cependant, lorsque je recharge le module ici (sous Windows python v. 3.4), cela me donne simplement ceci:

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

Et puis quand je tape imp.reload(my_module), cela dit simplement que la fonction est obsolète. Je n'arrive pas à trouver ce que serait la nouvelle fonction (ou son équivalent) n'importe où, donc si quelqu'un peut m'aider, ce serait génial! :)

18
Zizouz212

Le module imp a été déprécié en Python 3.4 en faveur du module importlib . De la documentaion = pour le module imp:

Déconseillé depuis la version 3.4: le package imp est en attente de dépréciation au profit de importlib.

Donc, vous devriez utiliser la fonction reload à partir de là:

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