ImportError: aucun module nommé builtins


8

Je porte mon application python de python 2 à python 3. Comme python-3 fournit un utilitaire 2to3qui convertit le code python-2 en python-3. import builtins donner une erreur comme

ImportError: No module named builtins

Une idée pour résoudre ce problème?

Réponses:


10

Résolution d'une erreur similaire dans une situation distincte en installant le package future.

sudo pip install future

Il n'est pas clair si votre erreur se produit lors de l'exécution de 2to3 ou lors de la tentative d'exécution du code résultant. Si c'est lors de l'exécution de 2to3, c'est probablement parce qu'il utilise réellement python2(par défaut) et donc si vous n'avez pas installé le future, builtinssera manquant. De même, si vous essayez d'exécuter le code résultant avec python2la même erreur, vous risquez de vous produire.


2

L' 2to3outil génère du code compatible avec Python 3 uniquement.

Vous le voyez probablement parce que vous exécutez le code converti en Python 2.

Si vous souhaitez que votre code soit compatible avec Python 2 et 3, vous pouvez le faire à la place:

try:
    import builtins
except ImportError:
    import __builtin__ as builtins
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.