Почему нет возможности сериализовать методы igraph.Graph
с рассолом или укропом? Оба подхода дают PicklingError
.Почему методы igraph.Graph ни «разборчивые», ни «укротительные»?
Пример:
import igraph, dill, pickle
pickle.dumps(igraph.Graph.degree)
dill.dumps(igraph.Graph.degree)
Здесь оба вызовы dumps
конца с исключением:
PicklingError Traceback (most recent call last)
...
PicklingError: Can't pickle <class 'igraph.Graph'>: it's not the same object as igraph.Graph
Создание функции-оболочки, как, что показано ниже возможный обходной путь, но это не объясните первоначальную проблему.
def degree_wrapper(graph, *args, **kwargs):
return graph.degree(*args, **kwargs)
Есть ли другой способ сделать укропную работу для этих случаев?
fyi: python-igraph == 0.7.1.post6; укроп == 0.2.5; Python 3.4.3+ (по умолчанию, окт. 14 2015, 16:03:50) [GCC 5.2.1 20151010]; Ubuntu 15.10