ImportError: 組み込みモジュールがありません

ImportError: 組み込みモジュールがありません

私はPythonアプリケーションをPython 2からPython 3に移植しています。Python 3は2to3Python 2コードをPython 3に変換するユーティリティを提供しているため、 import builtins 次のようなエラーが発生します。

ImportError: No module named builtins

この問題を解決するアイデアはありますか?

答え1

パッケージをインストールすることで、別の状況で同様のエラーを解決しましたfuture

sudo pip install future

エラーが 2to3 の実行中に発生したのか、結果のコードを実行しようとしたときに発生したのかは不明です。2to3 の実行中に発生した場合は、実際には (デフォルト) を使用しているためである可能性が高く、をpython2インストールしていない場合はが欠落します。同様に、結果のコードを実行しようとした場合にも、同じエラーが発生する可能性があります。futurebuiltinspython2

答え2

この2to3ツールは、Python 3 のみと互換性のあるコードを生成します。

おそらく、変換されたコードを Python 2 で実行しているため、このエラーが表示されるのでしょう。

コードを Python 2 および 3 と互換性のあるものにしたい場合は、代わりに次のようにします。

try:
    import builtins
except ImportError:
    import __builtin__ as builtins

関連情報