Em 2008 foi lançada a versão 3 da linguagem Python com diversas funcionalidades novas, mas parcialmente incompatível com os programas feitos para Python 2. Nestes 5 anos, a adoção ainda não é grande exatamente por causa deste fator e porque normalmente as pessoas não querem ter que aprender os detalhes que são necessários para essa mudança.
Hoje em dia existem diversas ferramentas que permitem desenvolver software que seja compatível com as duas versões, mas para isso é preciso entender o que mudou e adaptar. Este é será um guia rápido com dicas para migrar para Python 3 e aproveitar as melhorias que essa nova versão traz.
Parte I – Quando migrar
Por causa da incompatibilidade que existe, muitos desenvolvedores não podem começar a migração pois dependem de diversas bibliotecas que ainda não fizeram sua parte. Hoje em dia, grande parte das bibliotecas mais importantes da linguagem já são compatíveis com Python 3, o que torna bem mais plausível converter seu código.
Para computação númerica NumPy, SciPy, Matplotlib, IPython e Pandas são as ferramentas mais importantes e todas já foram portadas. Em desenvolvimento web, os frameworks mais importantes – Pyramid e Django – também funcionam perfeitamente em Python 3. Para criar GUI’s, PyQT4 e Tkinter podem ser utilizados sem problemas.
– O que falta então?
Normalmente são as pequenas bibliotecas que fazem trabalhos específicos e que já não são atualizadas há anos. Inclusive, este é um bom momento para se livrar delas. Procure no PyPI por algo semelhante que resolva seu problema e que seja compatível com Python 3.
– E se eu não quiser migrar?
Aproximadamente em 2017, o suporte para Python 2 vai terminar e este já não recebe novas funcionalidades desde 2010, com o lançamento do Python 2.7. Atualmente, só atualizações de segurança e outros bugs sérios são lançadas. Além disso, em breve o Python 3 será instalado por padrão na maioria das distribuições Linux, como já o é no Arch Linux e será no Ubuntu 13.04 ou 13.10.
– Mas mexer em código antigo que já funciona há anos é difícil…
Sim, isso é um grande impedimento. O ideal é começar a aprender com código novo e, quando surgir a oportunidade (ou necessidade) modificar os códigos antigos. A dica é, comece pelas suas bibliotecas para depois partir para as aplicações.
– Por onde eu começo?
O meu texto preferido sobre o tema é Dive into Python 3 que traz todos os detalhes sobre a linguagem e mostra o caso de migração de um software real. Aqui só faço uma introdução sobre o tema.
Independente de querer migrar ou não o seu código, é interessante conhecer o Python 3 e passar suportá-lo em código novo. Mesmo que você esteja escrevendo código com bibliotecas obsoletas, existem boas práticas que deixam permitem desenvolver já pensando no futuro.