[Zope-dev] Please, if you port to Python 3, port to 2&3

Christian Theune ct at gocept.com
Sun May 8 15:51:16 EDT 2011


On 05/05/2011 07:41 PM, Jim Fulton wrote:
> On Wed, May 4, 2011 at 3:01 AM, Lennart Regebro<regebro at gmail.com>  wrote:
>> On Sat, Apr 30, 2011 at 17:36, Jim Fulton<jim at zope.com>  wrote:
>>> If we decide to port zope.org-based projects to Python 3, please
>>> please please, port them to Python 2&3 rather than relying on 2to3 (or
>>> 3to2).  That is, update the code to work with both Python 2 and Python
>>> 3.  Relying on 2to3 (or 3to2) is a headache for anyone who uses a
>>> "develop" installation of a package. (It's also rather annoying for
>>> someone installing a 2to3-based project in Python 3.)
>>
>> I'm not sure exactly what "using a develop installation means" or what
>> headaches it causes,
>
> Often, when working on a project, I'll check it out and create a
> develop egg that allows me to work with it in place.  It's not
> practical to run 2to3 on it.  This is especially true if I'm working
> on it while I'm working on something else.
>
>> but, for many projects supporting Python 2 and
>> Python 3 without 2to3 is going to require massive changes and/or
>> dropping Python 2.5 support. That has to be considered.
>
> Right, Python 3 is a giant pain.  2to3 is far from perfect, so
> significant changes are often needed even if you use 2to3.  I believe
> that the workflow impacts of 2to3 are far worse than the, admittedly
> painful, impacts of maintaining code that runs in Python 2.5-2.7 and
> 3.2. Buildout works with all these versions and it's been fairly
> straightforward to make it do so.

Note: while Thomas and I worked on the Python 3 port of zc.buildout at 
the last Sprint we didn't even find it overly challenging to also keep 
Python 2.4 in the loop.

Christian

-- 
Christian Theune · ct at gocept.com
gocept gmbh & co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting, development, hosting, operations



More information about the Zope-Dev mailing list