[Python/Maya] Reload modules
- jeudi 18 décembre 2014
- Publie dansScript . Tous les articles
- Ecrire commentaire
Dans Maya (ou tout autre soft disposant d’une console) quand on utilise les packages, on est amené à les recharger pour prendre en compte les modifications, et c’est chiant!
Pour un package du style:
Root
`- __init__.py
`- main.py
`- ui.py
Il faut executer:
import Root import Root.main import Root.ui reload(Root) reload(Root.main) reload(Root.ui)
Vous trouverez multiple sites vous expliquant comment python gère ses modules, je n’aborderais donc pas ça ici.
Excellent article sur ce site:
Avec le bout de code suivant, vous supprimez les modules
def rld(*args): """Delete modules with given name inside their sid (key in sys.modules) Ex: rld("Ti", "Foo") Will clear entry from all modules containing Ti and Foo in thair name. """ for x in sorted(sys.modules): if any([True for t in args if t in x]): del sys.modules[x]
Vous n’aurez qu’a les re-importer pour les utiliser, modifications comprises.
Il existe sans doute autant d’autres méthodes que de devs, mais en 4 ans d’utilisation intensive, il ne m’a jamais fait défaut.
Pas encore de commentaires.