Der letzte Code, den ich gesandt habe versucht das Modul in die Jupyter Zelle zu schreiben, wobei dieses Modul eine Anweisung enthält das Interface zu laden und auszuführen. Dieses Interface möchte aber seinerseits die Funktionen des Moduls nutzen - dieses steht wie gesagt in der Jupyter Notebook Zelle mit bspw. der Funktion init_vector, welche als erstes ausgeführt werden soll. Es muss doch möglich sein dem interface mitzuteilen, dass in der Zelle in der auch der Import des Interfaces stattfindet der Code steht, den das Interface benötigt, um ausgeführt werden zu können.
Eine andere Möglichkeit, mit der ich begonnen hatte war: Der Code des Moduls wird in eine Jupyter Notebook Zelle geschrieben; es endet mit der Anweisung exec_render() und ruft das Interface auf. Jetzt wäre es optimal, wenn das aufgerufene Interface auch die Zelle kennen könnte, von der es aus aufgerufen wurde und die Methoden dort adressieren. Wie man das macht weiß ich nicht. Habe wie gesagt schon alles ausprobiert.
Wie kann ich in Jupyter Notebook ein Modul in einer Zelle darstellen und ein ...
@Brando: Und wenn Du tausendmal was von Modulen in Zellen schreibst: Der Zellinhalt ist kein Modul! Jegliche Versuche den krampfhaft als solches sehen zu wollen ist Realitätsverweigerung und führt zu nichts sinnvollem.
Alleine schon der Gedanke das ein Modul beim importieren etwas mit dem Modul machen soll von dem es importiert wird, ist irgendwie ziemlich krank. Zumal das auch eine einmalige Sache wäre, denn der Code auf Modulebene wird nur einmal, beim ersten Import ausgeführt. Jeder weitere Import liefert nur das bereits importierte Modul.
Du nennst übrigens Funktionen Methoden, was ein wenig verwirrend ist. Wäre besser wenn man den Begriff tatsächlichen Methoden vorbehalten würde.
Wie gesagt, lerne mit Funktionen umzugehen, also ``global`` sein zu lassen. Dann wirst Du auch nicht mehr so komische Sachen machen wollen, sondern die `exec_render()`-Funktion so schreiben, dass sie alles was sie an variablen Werten benötigt, als Argument(e) übergeben bekommt. Ich glaube das hatte Sirius3 ein paar Beiträge weiter vorne bereits erwähnt.
Alleine schon der Gedanke das ein Modul beim importieren etwas mit dem Modul machen soll von dem es importiert wird, ist irgendwie ziemlich krank. Zumal das auch eine einmalige Sache wäre, denn der Code auf Modulebene wird nur einmal, beim ersten Import ausgeführt. Jeder weitere Import liefert nur das bereits importierte Modul.
Du nennst übrigens Funktionen Methoden, was ein wenig verwirrend ist. Wäre besser wenn man den Begriff tatsächlichen Methoden vorbehalten würde.
Wie gesagt, lerne mit Funktionen umzugehen, also ``global`` sein zu lassen. Dann wirst Du auch nicht mehr so komische Sachen machen wollen, sondern die `exec_render()`-Funktion so schreiben, dass sie alles was sie an variablen Werten benötigt, als Argument(e) übergeben bekommt. Ich glaube das hatte Sirius3 ein paar Beiträge weiter vorne bereits erwähnt.
Aber wie löse ich dann mein Problem??:
1) Ein Modul darf nicht im Dateisystem gespeichert werden, es geht allenfalls als Zellinhalt durch (und ist dann kein Modul mehr nach vorheriger Auskunft)
2) Ein Interface, welches im Dateisystem hinterlegt wird, stellt die Funktionen des Modules dar.
3) Wie teile ich dem Interface den Modulinhalt mit?
1) Ein Modul darf nicht im Dateisystem gespeichert werden, es geht allenfalls als Zellinhalt durch (und ist dann kein Modul mehr nach vorheriger Auskunft)
2) Ein Interface, welches im Dateisystem hinterlegt wird, stellt die Funktionen des Modules dar.
3) Wie teile ich dem Interface den Modulinhalt mit?
@Brando: Ad 3) Gar nicht. Du änderst den Code dort so, das es kein Modul importiert, sondern die nötigen Werte bei der entsprechenden Funktion als Argument(e) übergeben bekommt. Sonst müsstest Du wie gesagt unschöne Hacks mit dem Import-Mechanismus anstellen. Da würde ich aber mal behaupten das Du nicht genug von der Materie verstehst, und helfen werde *ich* zumindest nicht bei so etwas. Wenn jemand mit einem Schrotgewehr hantiert, dann sagt man ihm er soll's weg legen und zeigt nicht wie man sich möglichst dicht am Fuss vorbei schiesst. 
