Como baixar e usar a ferramenta 2to3 para converter código Python 2 em Python 3
Python é uma linguagem de programação popular para iniciantes e profissionais. É amplamente utilizado para ciência de dados, desenvolvimento web, automação e muitas outras aplicações. No entanto, o Python passou por muitas mudanças ao longo dos anos e atualmente existem duas versões principais da linguagem: Python 2 e Python 3.
download 2to3
Se você tiver algum código escrito em Python 2 e quiser convertê-lo para Python 3, poderá enfrentar alguns desafios. O Python 3 não é compatível com versões anteriores do Python 2, o que significa que alguns recursos e sintaxe são diferentes ou obsoletos na versão mais recente. Felizmente, existe uma ferramenta que pode te ajudar nessa tarefa: a ferramenta 2to3.
Neste artigo, explicaremos o que é a ferramenta 2to3 e por que você precisa dela, como instalá-la em diferentes sistemas operacionais e como executá-la em seu código Python 2. Ao final deste artigo, você poderá atualizar seu código para o Python 3 com facilidade.
O que é a ferramenta 2to3 e por que você precisa dela
A ferramenta 2to3 é um programa Python que lê o código-fonte Python 2.x e aplica uma série de fixadores para transformá-lo em código Python 3.x válido. A biblioteca padrão contém um rico conjunto de fixadores que manipularão quase todo o código. A biblioteca de suporte 2to3 lib2to3 é, no entanto, uma biblioteca flexível e genérica, portanto, é possível escrever seus próprios fixadores para 2to3.
Você pode se perguntar por que precisa usar a ferramenta 2to3 em primeiro lugar. Por que não ficar com o Python 2? Bem, existem vários motivos pelos quais você deve considerar atualizar para o Python 3:
As diferenças entre Python 2 e Python 3
Python 3 é a próxima geração da linguagem de programação. Foi lançado em dezembro de 2008, junto com várias melhorias e novos recursos. O Python 3 não era apenas outra versão do código Python 2 após a depuração.A nova versão mudou drasticamente o idioma para resolver problemas de segurança e falhas de design nas versões anteriores.
Algumas das principais diferenças entre Python 2 e Python 3 são:
O Python 3 usa print() como uma função, enquanto o Python 2 usa print como uma instrução.
O Python 3 usa input() para obter a entrada do usuário, enquanto o Python 2 usa raw_input().
O Python 3 oferece suporte apenas a strings Unicode, enquanto o Python 2 oferece suporte a strings Unicode e ASCII.
Python 3 usa // para divisão inteira e / para divisão float, enquanto Python 2 usa / para ambos.
Python 3 tem uma função range() que retorna um iterador, enquanto Python 2 tem uma função range() que retorna uma lista.
O Python 3 tem uma sintaxe de manipulação de exceção aprimorada, enquanto o Python 2 usa uma mais antiga.
O Python 3 tem muitas novas funções e módulos integrados, enquanto o Python 2 tem alguns obsoletos.
Os benefícios de atualizar para o Python 3
Como você pode ver, existem muitas diferenças entre Python 2 e Python 3 que afetam como você escreve e executa seu código. Mas quais são os benefícios de atualizar para o Python 3? Aqui estão alguns deles:
O Python 3 é mais rápido, mais eficiente e mais seguro que o Python 2.
O Python 3 tem sintaxe e semântica mais consistentes e claras do que o Python 2 .
O Python 3 tem melhor suporte para tecnologias e paradigmas modernos, como programação assíncrona, anotações de tipo e classes de dados.
O Python 3 tem uma comunidade maior e mais ativa de desenvolvedores e usuários do que o Python 2.
O Python 3 tem mais código à prova de futuro e de fácil manutenção do que o Python 2 .
Como você pode ver, há muitos benefícios em atualizar para o Python 3 que tornarão seu código mais robusto, legível e confiável. No entanto, você ainda pode ter algum código escrito em Python 2 que deseja continuar usando ou reutilizando. É aí que a ferramenta 2to3 é útil.
Como instalar a ferramenta 2to3 em diferentes sistemas operacionais
A ferramenta 2to3 faz parte da biblioteca padrão do Python 3, o que significa que você não precisa instalá-la separadamente se já tiver o Python 3 instalado em seu sistema. No entanto, se você ainda não tiver o Python 3 instalado, precisará baixá-lo e instalá-lo primeiro. Aqui estão as etapas para instalar o Python 3 em diferentes sistemas operacionais:
janelas
Acesse o site oficial do Python e baixe a versão mais recente do Python 3 para Windows.
Execute o instalador e siga as instruções. Certifique-se de marcar a opção "Adicionar Python 3.x ao PATH" para tornar o Python acessível no prompt de comando.
Verifique se o Python 3 está instalado corretamente abrindo o prompt de comando e digitando python --versão. Você deve ver algo como Python 3.x.y, em que x e y são os números da versão.
Linux
A maioria das distribuições do Linux vem com o Python pré-instalado, mas pode não ser a versão mais recente do Python 3. Para verificar a versão do Python em seu sistema, abra um terminal e digite python --versão. Se você ver algo como Python 2.x.y, você precisará instalar o Python 3.
Para instalar o Python 3 no Linux, você pode usar o gerenciador de pacotes da sua distribuição. Por exemplo, no Ubuntu, você pode digitar sudo apt-get update e então sudo apt-get install python3. No Fedora, você pode digitar atualização sudo dnf e então sudo dnf instalar python3.
Verifique se o Python 3 está instalado corretamente digitando python3 --versão. Você deve ver algo como Python 3.x.y, em que x e y são os números da versão.
Mac OS
O Mac OS também vem com o Python pré-instalado, mas pode não ser a versão mais recente do Python 3. Para verificar a versão do Python em seu sistema, abra um terminal e digite python --versão. Se você ver algo como Python 2.x.y, você precisará instalar o Python 3.
Para instalar o Python 3 no Mac OS, você pode usar o instalador oficial do site do Python . Baixe a versão mais recente do Python 3 para Mac OS e execute o instalador. Siga as instruções e certifique-se de adicionar Python ao seu PATH.
Verifique se o Python 3 está instalado corretamente digitando python3 --versão. Você deve ver algo como Python 3.x.y, em que x e y são os números da versão.
Como executar a ferramenta 2to3 em seu código Python 2
Agora que você instalou o Python 3 e a ferramenta 2to3 em seu sistema, está pronto para converter seu código Python 2 em Python 3. Aqui estão as etapas para executar a ferramenta em seu código:
Uso básico e opções
O uso básico da ferramenta é o seguinte:
$ python -m lib2to 3 nome do arquivo.py
Isso irá ler o arquivo nome do arquivo.py e escreva o código modificado na saída padrão. Você pode redirecionar a saída para um novo arquivo usando o > operador, por exemplo:
$ python -m lib2to3 filename.py > new_filename.py
Isso criará um novo arquivo new_filename.py com o código convertido. Você também pode usar o -c opção para gravar as alterações diretamente no arquivo original, por exemplo:
$ python -m lib2to3 -w nome do arquivo.py
Isso substituirá o arquivo nome do arquivo.py com o código convertido. Tenha cuidado com esta opção, pois ela apagará seu código original. Você pode querer fazer backup de seu código antes de usar esta opção.
Você também pode usar o -n opção para evitar a gravação de alterações nos arquivos e apenas imprimir o diff na saída padrão, por exemplo:
$ python -m lib2to3 -n nome do arquivo.py
Isso mostrará as diferenças entre o código original e o código convertido, sem modificar nenhum arquivo. Você pode usar esta opção para visualizar as alterações antes de aplicá-las.
Você também pode usar o -o opção para especificar um diretório de saída diferente para os arquivos convertidos, por exemplo:
$ python -m lib2to3 -o output_dir filename.py
Isso criará um novo arquivo output_dir/filename.py com o código convertido. Você pode usar esta opção para manter seus arquivos originais e convertidos separados.
Você também pode usar o -f opção para especificar quais fixadores aplicar, ou o -x opção para especificar quais fixadores devem ser ignorados, por exemplo:
$ python -m lib2to3 -f print filename.py
Isso aplicará apenas o fixador de impressão ao arquivo nome do arquivo.py, que mudará as instruções de impressão para funções de impressão.
$ python -m lib2to3 -x imprime nome do arquivo.py
Isso ignorará o fixador de impressão e aplicará todos os outros fixadores ao arquivo nome do arquivo.py, que deixará as instruções de impressão inalteradas.
Você também pode usar o -eu opção para listar todos os fixadores disponíveis, ou a opção -h opção para obter mais ajuda sobre como usar a ferramenta.
Como fazer backup do seu código original
Como mencionado anteriormente, usar a ferramenta 2to3 pode sobrescrever seu código original, por isso é aconselhável fazer backup de seu código antes de executar a ferramenta. Existem várias maneiras de fazer isso, como:
Usando um sistema de controle de versão, como Git, SVN ou Mercurial, para rastrear suas alterações e revertê-las, se necessário.
Usando um serviço de armazenamento em nuvem, como Dropbox, Google Drive ou OneDrive, para sincronizar seus arquivos e acessá-los de qualquer lugar.
Usando uma ferramenta de backup local, como Time Machine no Mac OS, Histórico de arquivos no Windows ou Deja Dup no Linux, para criar instantâneos periódicos de seus arquivos e restaurá-los, se necessário.
Usando um método simples de copiar e colar, como copiar seus arquivos para outra pasta ou unidade antes de executar a ferramenta.
Qualquer que seja o método escolhido, certifique-se de ter uma cópia do código original em algum lugar seguro antes de usar a ferramenta 2to3.
Como lidar com avisos e erros
A ferramenta 2to3 não é perfeita e pode não ser capaz de converter algumas partes do seu código corretamente. Em alguns casos, pode emitir avisos ou erros que indicam possíveis problemas com seu código. Aqui estão alguns exemplos de avisos e erros comuns e como lidar com eles:
Aviso/ErroDescriçãoSolução
Nenhuma alteração no arquivo filename.pyA ferramenta não encontrou nenhuma sintaxe ou recurso do Python 2 em seu arquivo que precise ser convertido.Nenhuma ação necessária.Seu arquivo já é compatível com Python 3.
SyntaxError: sintaxe inválida na linha x de filename.pyA ferramenta encontrou um erro de sintaxe em seu arquivo que a impede de analisá-lo corretamente.Verifique se há erros de digitação, parênteses ausentes, erros de recuo ou outros erros de sintaxe em seu arquivo. Corrija-os antes de executar a ferramenta novamente.
RefactoringTool: Ignorando o fixador implícito: bufferA ferramenta ignorou um corretor que não está habilitado explicitamente, mas pode ser necessário para algum código.Use o -f opção para habilitar o fixador, ou o -x opção para desativá-lo. Por exemplo, python -m lib2to3 -f buffer nome do arquivo.py.
RefactoringTool: Não é possível analisar filename.py: ParseError: entrada incorreta na linha xA ferramenta encontrou um erro de análise em seu arquivo que a impede de aplicar quaisquer corretivos.Verifique se há erros de sintaxe ou recursos incompatíveis em seu arquivo com os quais a ferramenta não consegue lidar. Corrija-os antes de executar a ferramenta novamente.
RefactoringTool: Nenhum arquivo precisa ser modificado.A ferramenta não encontrou nenhum arquivo que precise ser convertido.Verifique se você especificou os arquivos ou diretórios corretos para executar a ferramenta. Use o -v opção para ver mais detalhes sobre os arquivos processados pela ferramenta.
Se você encontrar algum outro aviso ou erro que não esteja listado aqui, consulte a documentação oficial da ferramenta 2to3 para obter mais informações e dicas de solução de problemas.
Conclusão
Neste artigo, aprendemos como baixar e usar a ferramenta 2to3 para converter código Python 2 em Python 3. Vimos o que é a ferramenta 2to3 e por que precisamos dela, como instalá-la em diferentes sistemas operacionais e como executá-la em nosso código Python 2. Também aprendemos como fazer backup de nosso código original e como lidar com avisos e erros da ferramenta.
A ferramenta 2to3 é uma ferramenta útil e poderosa que pode nos ajudar a atualizar nosso código para Python 3 com o mínimo de esforço. No entanto, não é uma bala mágica que pode resolver todos os nossos problemas.Ainda precisamos testar nosso código convertido com cuidado e garantir que funcione conforme o esperado. Também podemos precisar fazer alguns ajustes manuais ou usar outras ferramentas ou bibliotecas para garantir a compatibilidade e funcionalidade do nosso código.
Esperamos que este artigo tenha ajudado você a entender como usar a ferramenta 2to3 e preparar seu código para o Python 3. Boa codificação!
perguntas frequentes
O Python 2 ainda é compatível?
Não, o Python 2 atingiu seu fim de vida em 1º de janeiro de 2020. Isso significa que não serão lançadas mais correções de bugs, patches de segurança ou atualizações para o Python 2. É altamente recomendável migrar para o Python 3 o mais rápido possível.
Posso usar Python 2 e Python 3 no mesmo sistema?
Sim, você pode ter várias versões do Python instaladas em seu sistema, desde que estejam em locais ou ambientes diferentes. Você pode usar ferramentas como pyenv, virtualenv ou conda para gerenciar diferentes versões do Python e alternar entre elas facilmente.
Posso converter meu código do Python 3 para o Python 2?
Sim, existe uma ferramenta chamada 3to2 que pode fazer o inverso do que o 2to3 faz. Ele pode converter código Python 3 em código Python 2 aplicando uma série de fixadores. Você pode encontrar mais informações sobre esta ferramenta aqui: .
Quais são algumas outras ferramentas ou bibliotecas que podem me ajudar na migração do Python 2 para o Python 3?
Existem algumas outras ferramentas ou bibliotecas que podem ajudá-lo na migração do Python 2 para o Python 3, como:
Seis: uma biblioteca que fornece utilitários de compatibilidade para escrever código que funciona tanto no Python 2 quanto no Python 3. Você pode encontrar mais informações sobre esta biblioteca aqui: .
Futurize: uma ferramenta que aplica correções compatíveis com versões anteriores e posteriores ao seu código, para que ele possa ser executado em Python 2 e Python 3. Você pode encontrar mais informações sobre esta ferramenta aqui: .
Modernize: uma ferramenta que aplica apenas correções compatíveis com versões anteriores ao seu código, para que ele possa ser executado no Python 3.Você pode encontrar mais informações sobre esta ferramenta aqui: .
Onde posso encontrar mais recursos e tutoriais sobre a migração de Python 2 para Python 3?
Existem muitos recursos e tutoriais sobre migração de Python 2 para Python 3 disponíveis online, como:
A documentação oficial do Python sobre como portar o código para o Python 3: .
O wiki oficial do Python sobre portabilidade de código para o Python 3: .
O blog oficial do Python sobre portabilidade de código para o Python 3: .
O podcast oficial do Python sobre portabilidade de código para o Python 3: .
O canal oficial do Python no YouTube sobre portabilidade de código para Python 3: .
O livro oficial do Python sobre portabilidade de código para o Python 3: .
Estes são apenas alguns dos muitos recursos e tutoriais que você pode encontrar online. Você também pode procurar por tópicos ou problemas mais específicos que você pode encontrar ao migrar seu código para o Python 3. 0517a86e26
Opmerkingen