Прежде всего, вот схема рабочего процесса, которую я хочу сделать: 1. Используйте sympy для «выполнения математики» и разработайте некоторые выражения 2. Lambdify соответствующие выражения 3. Сохраните соответствующие лямбда-функции в файле 4. Загрузите их в самостоятельную часть моего кодавыгрузите функцию лямбда в файл и загрузите ее в другую функцию
Все идет хорошо, пока шаг 3. я пробовал разные вещи, и, в частности, после прочтения this Это минималистический пример, который я хотел бы сделать:
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)
Я получаю эту ошибку (после того, как важного числа During handling of the above exception, another exception occurred
:
ValueError: 'axis' entry is out of bounds
Я пропускаю что-то важное здесь?
Примечание: когда я дам выражение sympy вместо lambdify функции после pickle.load, все будет хорошо. Но это не совсем тот рабочий процесс, в котором я нуждаюсь!
Благодарим за помощь!
https://docs.python.org/2/library/json.html –
Я нашел эту аналогичную проблему. Помогло ли вам решение? https://github.com/uqfoundation/dill/issues/104 –