ImportError: Нет модуля с именем builtins

ImportError: Нет модуля с именем builtins

Я портирую свое приложение Python с Python 2 на Python 3. Поскольку Python-3 предоставляет утилиту 2to3, которая преобразует код Python-2 в Python-3. import builtins выдает ошибку

ImportError: No module named builtins

Есть идеи, как решить эту проблему?

решение1

Решил похожую ошибку в другой ситуации установкой пакета future.

sudo pip install future

Неясно, возникает ли ваша ошибка при запуске 2to3 или при попытке запустить полученный код. Если это происходит при запуске 2to3, то, скорее всего, он фактически использует python2(по умолчанию) и, таким образом, если вы не установили future, builtinsбудет отсутствовать. Аналогично, если вы пытаетесь запустить полученный код с python2той же ошибкой, может возникнуть та же самая ошибка.

решение2

Инструмент 2to3генерирует код, совместимый только с Python 3.

Вероятно, вы видите это, поскольку запускаете преобразованный код в Python 2.

Если вы хотите, чтобы ваш код был совместим с Python 2 и 3, вы можете сделать это:

try:
    import builtins
except ImportError:
    import __builtin__ as builtins

Связанный контент