ImportError: Немає модуля з іменем вбудованих модулів


8

Я переношу свою програму python з python 2 на python 3. Оскільки python-3 забезпечує утиліту, 2to3яка перетворює код python-2 в python-3. import builtins даючи помилку як

ImportError: No module named builtins

Будь-яка ідея виправити це питання?

Відповіді:


11

Вирішили подібну помилку в окремій ситуації, встановивши пакет 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.