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

Guido van Rossum guido at python.org
Fri Mar 16 20:11:30 CET 2012


On Fri, Mar 16, 2012 at 9:20 AM, Tres Seaver <tseaver at palladion.com> wrote:
> 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.

I take that as meaning "no, we don't need help, it's all under control."

-- 
--Guido van Rossum (python.org/~guido)


More information about the Python-Dev mailing list