Dans mon module principal j'ai plusieurs sous-modules et même des codes qui tournent en stand-alone. Ce module principal sert de template pour plusieurs projets, et plutôt que de devoir modifier à chaque fois les chemins qui servent à pointer vers tel ou tel code j'aimerais pouvoir mettre en place des variables globales.
Seulement voilà, je n'ai pas un seul point d'entrée mais une multitude (chaque code en stand-alone utilise des sous-modules mais se démerde tout seul niveau interface).
Pour le moment j'ai créé un code include.py qui déclare des variables globales à partir d'un dictionnaire (donc je n'ai plus qu'à le modifier LUI en fonction du projet et non plus toutes les occurrences de tous les chemins):
# include.py
global_dict = {'my_var1':1, 'my_var2':2,'my_varice':'is'}
import __main__ as namespace
# Add variables to namespace
for variable,value in global_dict.items():
setattr(namespace, variable, value)
mais il faut tout de même que j'importe ce code dans tous les init de tous les modules qui vont avoir besoin de mes variables.
Je me demande donc: y a-t-il un moyen pour faire sauter cet import? pour faire en sorte que tout ce qui se range dans un projet donné ait accès aux variables globales, et pas que j'aie à les redéclarer pour le namespace en cours à chaque fois?
Edit:
En fait ce que je voudrais c'est que tous les modules situés dans un projet défini aient accès à des variables "de base" (des chemins, pour être exact). Et ce quel que soit le point d'entrée (tant qu'il est dans ce projet).