web-dev-qa-db-fra.com

ImportError: Aucun module nommé nommé

Je porte mon application python de python 2 à python 3. Comme python-3 fournit l'utilitaire 2to3 qui convertit le code python-2 en python-3. import builtins donnant l'erreur en tant que

ImportError: No module named builtins

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

7
mrudula

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

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 le cas lors de l'exécution de 2to3, c'est probablement parce qu'il utilise python2 (valeur par défaut) et donc si vous n'avez pas installé futurename__, builtinssera manquant. De même, si vous essayez d'exécuter le code résultant avec python2, la même erreur peut se produire.

9
user9794

L'outil 2to3 génère un code compatible avec Python 3 uniquement.

Vous le voyez probablement parce que vous utilisez le code converti dans Python 2.

Si vous voulez 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
2
elias