Le bout de code

Si vous faite un "module" (Un dossier "monModule" avec un fichier init.py monModule), que vous faite plusieurs modules qui communiquent entre eux, Maya "stocke" ses modules en mémoire. Pour les "supprimer" de la mémoire Maya (et donc les décharger), vous pouvez utiliser ce code:

import sys
for item in sorted(sys.modules.keys()):
    if 'monModule' in item :
	print 'delete ' + str(sys.modules[item])
        del(sys.modules[item])

En effet:

sys.modules.keys()

Liste tout les modules chargé par Python.

Si vous le faite seul, vous verrez qu'il y en a un certain nombre. :seSentCon:

L'objectif n'est pas de tous les supprimer bien entendu. C'est à ça que sert le:

if 'monModule' in item :

Si en plus tout vos scripts Python commencent par une syntax particulière ("fd" dans le cas de modules appelés "fdMyLibs", "fdGetVertex", fdSwitchConnections" pas exemple), il suffit de faire:

if 'fd' in item :

Et voila le travail! :youplaBoum:

Petites subtilités

Python créés un fichier .pyc à coté des fichiers Python qui est en fait une version "compilé" de votre code (Byte Code), pour accélérer le chargement des modules.

Normalement, ses fichiers sont mis à jour une fois que le .py est changé. Mais il arrive que ce ne soit pas le cas. Il peut donc arriver d'avoir à supprimer ses fichier directement pour laisser à Maya le soin de les régénérer. :sourit:

Conclusion

En espérant que ce petit astuce vous servira.

A bientôt!

Dorian

:marioCours: