[pyar] Portando codigo de python 3.x a python 2.x
Manuel Alejandro Cerón Estrada
ceronman en gmail.com
Mie Mar 13 07:07:26 ART 2013
2013/3/12 Pablo SEMINARIO <pabluk en gmail.com>:
> Hola a todos,
>
> 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?
>
> Estuve leyendo el How-To "Porting Python 2 Code to Python 3"[2] y lo que me
> queda mas o menos claro es que puedo hacer algo como por ejemplo:
>
> if sys.version_info[0] < 3:
> # Python 2.x
> from xmlrpclib import ServerProxy
> else:
> # Python 3.x
> from xmlrpc.client import ServerProxy
Para imports es más común usar un estilo como este:
try: # Python 3
from xmlrpc.client import ServerProxy
except ImportError: # Python 2.x
from xmlrpclib import ServerProxy
> pero no sé, si esa esa la mejor manera de hacerlo, o hay alguna otra forma
> más recomendable. Sin tener que mantener branchs diferentes para cada
> versión.
Si quieres mantener código que funciona en 2.x y en 3.x es inevitable
mantener algunos branchs.
Saludos.
Manuel.
More information about the pyar
mailing list