[Python-Dev] Pickling failure on Enums
Ethan Furman
ethan at stoneleaf.us
Tue May 14 23:13:00 CEST 2013
More information about the Python-Dev mailing list
Tue May 14 23:13:00 CEST 2013
- Previous message: [Python-Dev] Pickling failure on Enums
- Next message: [Python-Dev] Pickling failure on Enums
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 05/14/2013 01:58 PM, Guido van Rossum wrote: > On Tue, May 14, 2013 at 1:09 PM, Ethan Furman <ethan at stoneleaf.us> wrote: >> On 05/13/2013 11:32 AM, Guido van Rossum wrote: >>> >>> >>> But now you enter a different phase of your project, or one of your >>> collaborators does, or perhaps you've released your code on PyPI and one of >>> your users does. So someone tries to pickle some class instance that >>> happens to contain an unpicklable enum. That's not a great experience. >>> Pickling and unpickling errors are often remarkably hard to debug. >>> (Especially the latter, so I have privately admonished Ethan to ensure that >>> if the getframe hack doesn't work, the pickle failure should happen at >>> pickling time, not at unpickle time.) >> >> >> I can get pickle failure on members created using the functional syntax with >> no module set; > > That's the case I care most about. Good, 'cause that one is handled. :) >> I cannot get pickle failure on those same classes; > > I suppose you mean "if you create the same enums using class syntax"? > Sounds fine to me. No. Example class: --> Example = Enum('Example', 'example ie eg') # no module name given, frame hack fails --> pickle(Example.ie) # blows up --# pickle(Example) # succeeds here, but unpickle will fail >> I cannot get pickle failure on class syntax enums that inherit complex types >> (such as the NEI class in the tests). > > Is the NEI base class picklable? No. If it is, then the derived enum is also picklable (at least the variation I have tested, which is when the NEI base class has __getnewargs__). I'm really hoping you'll say that can be a documentation issue. ;) -- ~Ethan~
- Previous message: [Python-Dev] Pickling failure on Enums
- Next message: [Python-Dev] Pickling failure on Enums
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list