Zu Beginn, hier ist der Umriss des Arbeitsablaufs, den ich machen möchte: 1. Verwenden Sie sympy zu "Mathe" und entwickeln Sie einige Ausdrücke 2. Lambdify die entsprechenden Ausdrücke 3. Bewahren sie die entsprechenden Lambda-Funktionen in einer Datei 4. Legen sie sie in einem unabhängigen Teil meines Codesdump eine Lambda-Funktion in einer Datei und laden Sie es in einer anderen Funktion
Alles geht gut, bis Schritt 3 ich verschiedene Dinge ausprobiert, und insbesondere nach dem lesen this Dies ist ein minimalistisches Beispiel, das ich gerne arbeiten würde:
import sympy as sp
import dill as pickle
x, y = sp.symbols("x, y")
f_example = 2*x**2 + 2*x*y
f_lbda= sp.lambdify((x, y),f_example)
pickle.settings['recurse'] = True
fileW = open('file_where_I_dump.dill', 'wb')
# the following line crashes
pickle.dump([f_lbda, f_lbda], fileW)
fileR = open('file_where_I_dump.dill', 'rb')
f_lbda_loaded = pickle.load(fileR)
ich diesen Fehler (nach einer wichtigen Anzahl von During handling of the above exception, another exception occurred
:
ValueError: 'axis' entry is out of bounds
Fehle ich etwas Wichtiges hier?
Hinweis: Wenn ich die Sympy-Ausdrücke stattdessen dump und Lambdify die Funktion nach einem Pickle.load, alles geht gut. Aber das ist nicht genau der Workflow, den ich brauche!
Danke für Ihre Hilfe!
https://docs.python.org/2/library/json.html –
Ich fand dieses ähnlich aussehende Problem. Funktioniert die Lösung für Sie? https://github.com/uqfoundation/dill/issues/104 –