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(默认值),因此如果您没有安装futurebuiltins将会丢失。同样,如果您尝试运行结果代码,也python2可能会出现相同的错误。

答案2

2to3工具生成仅与 Python 3 兼容的代码。

您可能看到这种情况是因为您正在 Python 2 中运行转换后的代码。

如果你希望你的代码与 Python 2 和 3 兼容,你可以这样做:

try:
    import builtins
except ImportError:
    import __builtin__ as builtins

相关内容