[Python-Dev] Proposal: from __future__ import unicode_string_literals

M.-A. Lemburg mal at egenix.com
Tue Mar 25 10:43:33 CET 2008


On 2008-03-24 09:22, Lennart Regebro wrote:
> I think 2to3 is a procedure that will work well for library type
> projects with a reasonably small set of developers that make regular
> releases. There you can release both a python 2 and a python 3 version
> of the module, for example.
> ...
> So, in short: Large projects with interconnected modules where the
> developers and users of module are the same people will have big
> difficulties with the 2to3 approach and would be the people who are
> most likely to not be able to in practice go forward to Python 3
> unless they have some sort of smooth path forward.

I don't think there's a lot to worry about:

Companies using Python for applications typically have a completely
different life-cycle of releases and applications compared to the
Python release schedule, i.e. they often still run Python 2.3 or
2.4 and wait for major releases to settle before deciding to
port to them.

Every now and then, they make the decision to port to the next
release (for the next version of their software) and this change is
then managed accordingly - sometimes skipping a complete major release
of Python.

In such projects, 2to3 will get applied to the sources once and then
all development continues on the Python 3.0 version of the code.


In reality, I don't think that 2to3 will get used for continuous
porting between a 2.x code base and a 3.0 one all that much.

The transition from 2.x to 3.0 will happen during a longer period of
time (probably a few years) and depend a lot on the release cycle of
the applications using Python, whether or not the 3.0 version provides
better features, more performance,  etc. and whether the 2.x branches
of Python and the used 3rd party modules are still supported or not.

New applications will likely choose 3.0 right away - provided that
the needed 3rd party modules are available and stable enough.


In summary: 2to3 is a very useful tool to have. Whether or not
it is used for continuous porting between the two worlds is
really secondary.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Mar 25 2008)
 >>> Python/Zope Consulting and Support ...        http://www.egenix.com/
 >>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

:::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! ::::


    eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
     D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
            Registered at Amtsgericht Duesseldorf: HRB 46611


More information about the Python-Dev mailing list