
Estoy portando mi aplicación Python de Python 2 a Python 3. Como Python-3 proporciona una utilidad 2to3
que convierte el código Python-2 a Python-3.
import builtins
dando error como
ImportError: No module named builtins
¿Alguna idea para solucionar este problema?
Respuesta1
Se resolvió un error similar en una situación separada al instalar el paquete future
.
sudo pip install future
No está claro si el error ocurre al ejecutar 2to3 o al intentar ejecutar el código resultante. Si es así cuando se ejecuta 2to3, es probable que se deba a que en realidad está usando python2
(el valor predeterminado) y, por lo tanto, si no ha instalado el archivo future
, builtins
faltará. De manera similar, si intenta ejecutar el código resultante, python2
es posible que se produzca el mismo error.
Respuesta2
La 2to3
herramienta genera código compatible únicamente con Python 3.
Probablemente estés viendo esto porque estás ejecutando el código convertido en Python 2.
Si desea que su código sea compatible con Python 2 y 3, puede hacer esto:
try:
import builtins
except ImportError:
import __builtin__ as builtins