[pyar] Portando codigo de python 3.x a python 2.x

Hernan Grecco hernan.grecco en gmail.com
Mie Mar 13 07:35:09 ART 2013


Hola,

> resulta que tenia escrito el código de una simple librería en python 3 y
> todo andaba bien, hasta que quise comenzar a usar "Read the Docs"[1] para
> generar la doc, y los virtualenvs que usan corren solo python 2.x, entonces
> me dije porque no hacer mi código compatible con python 2.x.
>
> Y entonces la pregunta es cual es la mejor manera de hacer convivir código
> compatible con python 3.x y 2.x en el mismo módulo?

Si apuntas a Py >= 2.6 es relativamente fácil tener código común, sin
que quede muy feo.

Algunas cosas para mirar son:
- Future imports: te ayudan a incorporar cierta sintaxis y semantica
de Python 3 en Python 2 [0]
- 2to3: es un script que se puede correr al momento de instalacion
transformando cierto codigo de Python 2 en Python 3 (por ejemplo sirve
muy bien para los imports que mencionas) [1]
- Six: es una libreria que intenta evitar 2to3 [2]

saludos,

Hernan

[0] http://docs.python.org/2/library/__future__.html
[1] http://docs.python.org/2/library/2to3.html
[2] https://pypi.python.org/pypi/six



More information about the pyar mailing list