[Tutor] 3to2?

Wayne Werner wayne at waynewerner.com
Mon Apr 22 18:55:34 CEST 2013


On Sun, 21 Apr 2013, Steven D'Aprano wrote:

> On 21/04/13 04:32, Jim Mooney wrote:
>> I was looking at google pengine for python and it only supports 2.7. I've
>> installed 3 and would rather not go back (I kept doing Print without the
>> parentheses for awhile and it was really annoying ;')
>> 
>> So the question comes up. If there is a 2to3 script, which I got working,
>> is there a 3to2 script?. Or does that even makes sense since 3 has features
>> 2 does not, although I read somewhere that many have been backported?
>
> from __future__ import division, print_function
>
> from future_builtins import *

This is the route I recommend, and take myself. Usually I'll do:

from __future__ import print_function, division, unicode_literals

try:
     input = raw_input
     range = xrange
except NameError:
     pass #using python 3 already, whee!


which makes you able to write code that mostly looks to Python3.


You could also look at how Django does their 2/3 support: 
https://www.djangoproject.com/weblog/2012/aug/19/experimental-python-3-support/

Looks like they use the `six` library:
http://pythonhosted.org/six/


HTH,
-W


More information about the Tutor mailing list