我正在将我的 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