Je rencontre des problèmes lors de l'importation d'une classe à partir d'un module particulier. La classe est dans le module my_module1.my_module2.my_module3.my_module4.my_module5.my_module6.my_module7Problème d'importation Python
Ce code fonctionne
import my_module1.my_module2.my_module3.my_module4.my_module5.my_module6.my_module7
ce qui signifie pour accéder ma classe que je dois faire
my_module1.my_module2.my_module3.my_module4.my_module5.my_module6.my_module7.MyClass
mais cela ne
from my_module1.my_module2.my_module3.my_module4.my_module5.my_module6.my_module7 import MyClass
Ni le fait
my_module1.my_module2.my_module3.my_module4.my_module5.my_module6.my_module7 à l'importation comme my_name
cette erreur donnent tous deux en disant
AttributeError: 'module' object has no attribute my_module7'
Cela m'a complètement déconcerté et je travaille là-dessus pour un couple de semaines maintenant. Aucune suggestion?
EDIT - Je ne peux pas changer la structure, malheureusement, comme elle est imposée par le système que je utilise
+1 J'aurais dû y penser. Bonne suggestion, on verra où ça finit. – Crisfole
Oui, il s'agit d'une importation circulaire. J'ai besoin d'accéder à une variable de classe de la classe que j'essaie d'importer. Que suggérez-vous de contourner cela? Suis-je le meilleur pour repenser le design un peu? –
Eh bien, pour le contourner, il vous suffit de déplacer votre importation du niveau supérieur dans une fonction ou une classe. Une refonte pourrait être le meilleur, mais c'est votre appel. – toc777