ImportError: Kein Modul mit dem Namen builtins

8

Ich portiere meine Python-Anwendung von Python 2 auf Python 3. Da Python-3 ein Dienstprogramm bereitstellt 2to3, das Python-2-Code in Python-3 konvertiert. import builtins Fehler geben als

ImportError: No module named builtins

Haben Sie eine Idee, um dieses Problem zu beheben?

mrudula
quelle

Antworten:

10

Behebung eines ähnlichen Fehlers in einer separaten Situation durch Installation des Pakets future.

sudo pip install future

Es ist nicht klar, ob Ihr Fehler beim Ausführen von 2to3 oder beim Ausführen des resultierenden Codes auftritt. Wenn es sich um 2to3 handelt, liegt es wahrscheinlich daran, dass es tatsächlich verwendet wird python2(Standardeinstellung), und wenn Sie das nicht installiert haben future, builtinswird es fehlen. Ebenso kann es vorkommen, dass Sie versuchen, den resultierenden Code mit python2demselben Fehler auszuführen .

user9794
quelle
2

Das 2to3Tool generiert Code, der nur mit Python 3 kompatibel ist.

Sie sehen das wahrscheinlich, weil Sie den konvertierten Code in Python 2 ausführen.

Wenn Sie möchten, dass Ihr Code mit Python 2 und 3 kompatibel ist, können Sie dies folgendermaßen tun:

try:
    import builtins
except ImportError:
    import __builtin__ as builtins
elias
quelle