Python-Funktion mit Abhängigkeiten serialisieren

Ich habe mehrere Ansätze ausprobiert, um eine Python-Funktion mit Abhängigkeiten zu erstellen. Dabei habe ich viele Empfehlungen zu StackOverflow befolgt (z. B. Dill, Cloudpickle usw.), aber alle scheinen auf ein grundlegendes Problem zu stoßen, das ich nicht herausfinden kann.

Ich habe ein Hauptmodul, das versucht, eine Funktion von einem importierten Modul abzurufen, sie über ssh zu senden, damit sie auf einer entfernten Maschine ausgeführt werden kann.

So Haupt hat:

    import dill (for example)
    import modulea

    serial=dill.dumps( modulea.func )
    send (serial)

Auf dem Remote-Computer:

        import dill
        receive serial
        funcremote = dill.loads( serial )
        funcremote()

Wenn die Funktionen, die gebeizt und gesendet werden, Funktionen der obersten Ebene sind, die in main selbst definiert sind, funktioniert alles. Wenn sie sich in einem importierten Modul befinden, schlägt die Ladefunktion mit Nachrichten vom Typ "module modulea not found" fehl.

Es scheint, dass der Modulname zusammen mit dem Funktionsnamen eingegeben wird. Ich sehe keine Möglichkeit, die Essiggurke zu "reparieren", um die Abhängigkeit zu beseitigen, oder alternativ ein Dummy-Modul im Empfänger zu erstellen, um der Empfänger des Abbeizens zu werden.

Alle Zeiger werden sehr geschätzt.

- prasanna

Antworten auf die Frage(1)

Ihre Antwort auf die Frage