I am using dill (advanced version of pickle) right now. I want to serialize my object, but I get this error:
/usr/lib/python2.7/pickle.pyc in memoize(self, obj)
242 if self.fast:
243 return
--> 244 assert id(obj) not in self.memo
245 memo_len = len(self.memo)
246 self.write(self.put(memo_len))
Can someone tell me the possibility that made this error or how can I solved this?
Without you posting a reduced version of your code, it's hard to help. However,
dill
has some builtin detection methods. Look atdill.detect
.Or by object inspection.
There's also
dill.detect.badtypes
and so on.Or you can trace down how objects relate to each other, with
dill.detect.parent
,dill.detect.children
,dill.detect.reference
, and so on.Here's an example of using
dill
(plusobjgraph
for visualization) to track down circular references. https://github.com/uqfoundation/dill/issues/58There's also a big list of all that
dill
does not know how to serialize indill._objects
-- at least the first 15 sections of the python standard library, plus some others.