[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