I've encountered this in the past - I always just define any class I want to pickle in a file and then reload the module as necessary instead of pickling outputs from run or interactively-defined objects. That seems safer anyway - otherwise if you restart the interpreter, the methods on the object are forgotten.
It seems to work fine if you pickle from a file and then load that file with an interactively-defined or defined in "run" version, though.
I've encountered this in the past - I always just define any class I want to pickle in a file and then reload the module as necessary instead of pickling outputs from run or interactively- defined objects. That seems safer anyway - otherwise if you restart the interpreter, the methods on the object are forgotten.
It seems to work fine if you pickle from a file and then load that file with an interactively- defined or defined in "run" version, though.