
Estou portando meu aplicativo python de python 2 para python 3. Como python-3 fornece um utilitário 2to3
que converte o código python-2 em python-3.
import builtins
dando erro como
ImportError: No module named builtins
Alguma ideia para corrigir esse problema?
Responder1
Resolveu um erro semelhante em uma situação separada instalando o pacote future
.
sudo pip install future
Não está claro se o seu erro ocorre ao executar o 2to3 ou ao tentar executar o código resultante. Se estiver executando o 2to3, é provável que ele esteja realmente usando python2
(o padrão) e, portanto, se você não instalou o future
, builtins
estará faltando. Da mesma forma, se você estiver tentando executar o código resultante, python2
o mesmo erro poderá ocorrer.
Responder2
A 2to3
ferramenta gera código compatível apenas com Python 3.
Você provavelmente está vendo isso porque está executando o código convertido em Python 2.
Se quiser que seu código seja compatível com Python 2 e 3, você pode fazer o seguinte:
try:
import builtins
except ImportError:
import __builtin__ as builtins