Я портирую свое приложение Python от python 2 до python 3. Поскольку python-3 обеспечивает утилиту 2to3
который преобразовывает код python-2 в python-3. import builtins
предоставление ошибки как
ImportError: No module named builtins
Какая-либо идея устранить эту проблему?
Решенный подобная ошибка в отдельной ситуации путем установки пакета future
.
sudo pip install future
не ясно, происходит ли Ваша ошибка при выполнении 2to3 или при попытке выполнить получающийся код. Если это при выполнении 2to3, это вероятно, потому что это на самом деле использует python2
(значение по умолчанию) и таким образом если Вы не установили future
, builtins
будет отсутствовать. Так же, при попытке выполнить получающийся код с python2
, та же ошибка могла бы произойти.
2to3
инструмент генерирует код, совместимый с 3-единственным Python.
Вы, вероятно, видите это, потому что Вы выполняете преобразованный код в Python 2.
Если Вы хотите, чтобы Ваш код был совместим с Python 2 и 3, можно сделать это вместо этого:
try:
import builtins
except ImportError:
import __builtin__ as builtins