Ich möchte ein Python-Modul, das ich schreibe, um ein Abhängigkeitsmodul nur zu importieren, wenn eine Funktion in meinem Modul ausgeführt wird. Dies liegt daran, dass das Abhängigkeitsmodul sehr komplex ist (d. H. Es setzt Serverprogramme laufen usw.) und ist nur auf einigen Systemen verfügbar, auf denen mein Modul verwendet werden soll. I imagine mit meinem Modul in einer Weise, wie folgt aus:Wie kann ein Modul in ein Python-Modul importiert werden, nachdem eine Funktion im Modul ausgeführt wurde?
import mymodule
mymodule.simple_function() # just a simple function to be used on any system
mymodule.import_complex_dependencies()
mymodule.function_that_uses_functionality_of_the_complex_dependency_module()
Unter der Annahme, dass ich nicht mein Modul in zwei werde geteilt, und dass ich werde nicht ein Submodul machen, was wäre eine Möglichkeit, dies zu tun?
Warum akzeptieren Sie keine der Antworten? –
@Mr_and_Mrs_D Ich bin dankbar für die bisher vorgeschlagenen Lösungen, und diese Lösungen sind für manche Leute nützlich, aber sie sind, soweit ich sehe, keine Lösung für mich. Ich muss vermeiden, das komplexe Modul mehrmals zu importieren. – BlandCorporation
Wenn das Modul einmal importiert wird, wird es nie wieder importiert - was verstehst du nicht? Legen Sie einen Ausdruck in Ihr Modul, folgen Sie der @ user2357112-Lösung und sehen Sie den Ausdruck nur einmal, unabhängig davon, wie viele Methodenaufrufe –