[Python-Dev] Unpickling py2 str as py3 bytes (and vice versa) (original) (raw)

[Python-Dev] Unpickling py2 str as py3 bytes (and vice versa) - implementation (issue #6784)

Tres Seaver tseaver at palladion.com
Fri Mar 16 17:20:27 CET 2012


-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1

On 03/16/2012 10:57 AM, Guido van Rossum wrote:

On Thu, Mar 15, 2012 at 9:48 PM, Tres Seaver <tseaver at palladion.com> wrote:

On 03/13/2012 06:49 PM, Nick Coghlan wrote:

On Wed, Mar 14, 2012 at 8:08 AM, Guido van Rossum <guido at python.org> wrote:

If you can solve your problem with a suitably hacked Unpickler subclass that's fine with me, but I would personally use this opportunity to change the app to some other serialization format that is perhaps less general but more robust than pickle. I've been bitten by too many pickle-related problems to recommend pickle to anyone...

It's fine for in-memory storage of (almost) arbitrary objects (I use it to stash things in a memory backed sqlite DB via SQLAlchemy) and for IPC, but yeah, for long-term cross-version persistent storage, I'd be looking to something like JSON rather than pickle. Note the Zope ecosystem (including Plone) is an enoromous installed base[1] using pickle for storage of data over many years and multiple versions of Python: until this point, it has always been possible to arrange for old pickles to work (e.g., by providing aliases for missing module names, etc.). ]1] tens of thousands of Zope-based sites in production, including very high-profile ones: http://plone.org/support/sites Don't I know it. :-) So do you need any help porting to Python 3 or not? The OP didn't mention Zope.

ZODB is actually the biggest / most important non-ported items in the Zope ecosystem. We are close to a pure-Python version of persistent and it's pickle cache, and have some work done toward pure-Python BTrees.

Tres. - --

Tres Seaver +1 540-429-0999 tseaver at palladion.com Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk9jaEsACgkQ+gerLs4ltQ4bQACfcRxaeRMLnmDRzWL2c537VLvC xsMAn2Cjql4Wvavr0MNyQxS58Af4EwMf =UT5J -----END PGP SIGNATURE-----



More information about the Python-Dev mailing list