title: Pickle: dealing with updated class definitions
body: <p>After a class definition is updated by recompiling a script, pickle refuses to serialize previously instantiated objects of that class, giving the error: "Can't pickle object: it's not the same object as "</p>
  
  <p>Is there a way to tell pickle that it should ignore such cases? To just identify classes by name, ignore whichever internal unique ID is causing the mismatch?</p>
  
  <p>I would definitely welcome as an answer the suggestion of an alternative, equivalent module which solves this problem in a convenient and robust manner.</p>
  
  <hr>
  
  <p>For reference, here's my motivation:</p>
  
  <p>I am creating a high productivity, rapid iteration development environment in which Python scripts are edited live. Scripts are repeatedly recompiled, but data persists across compiles. As part of the productivity goals, I am trying to use pickle for serialization, to avoid the cost of writing and updating explicit serialization code for constantly changing data structures.</p>
  
  <p>Mostly I serialize built-in types. I am careful to avoid meaningful changes in the classes which I pickle, and when necessary I use the copy_reg.pickle mechanism to perform upconversion on unpickle.</p>
  
  <p>Script recompilation prevents me from pickling objects at all, even if class definitions have not actually changed (or have only changed in a benign way).</p>