Gérer les dépendances circulaires dans les modules Python?

c'est un cas où je suis à courir en rond et je suis sur le point d'aller sauvages.

Je souhaite Python permettrait d'analyser tous les fichiers à la première, afin qu'il puisse connaître tous les identifiants depuis le début (je pense comme Java).

J'ai un "main.py" et d'un "gui.py". Chaque fichier contient une classe, ce qui rend l'utilisation de la classe dans l'autre fichier. Lorsque j'essaie d'exécuter "main.py", l'interprète des importations "gui", puis dans "gui.py" il importe "principale", puis il traite de l'ensemble du module principal et dit: "Tee-hee, il n'y a pas de classe avec le nom donné dans gui.py."

Comment puis-je gérer les dépendances circulaires en Python avec un minimum de tracas?

OriginalL'auteur rynd | 2012-04-11