I'm using version 1.2 (currently the latest) of the ordered_set module linked to from this answer. I've been getting some weird behavior and have traced it to this:
from ordered_set import OrderedSet
import pickle
os_orig = OrderedSet()
print os_orig # 'OrderedSet'
print os_orig.items # '[]'
pickled = pickle.dumps(os_orig)
loaded = pickle.loads(pickled)
print loaded
Which raises AttributeError: 'OrderedSet' object has no attribute 'items'
. Everything goes fine if the OrderedSet is not empty.
Unfortunately I am in over my head here when it comes to pickle--what is going wrong?
EDIT: I should add that the module seems to support pickle. From the README: "added a __getstate__
and __setstate__
so it can be pickled"