5

Web で読んだ後、Python 2.7 がデフォルトとして絶対インポートを使用するという約束がなされていることに気付きました。しかし、そうではないようで、まだ使用する必要があります

from __future__ import absolute_import

コードでレガシー設定を使用したくないので、すべてのモジュールでこれが有効になっていることを確認します。すべての単一モジュールでこのステートメントを繰り返さなくても、それを行う方法は?

4

1 に答える 1

2

from __future__インポートは最初に実行する必要があり、モジュール固有です。実際にすべてのモジュールにラインを含めることなく、すべてのモジュールに有効にする簡単な方法はありません。

私はあなたがあなたのモジュールのどれがそれらの中にその行を持っていないgrepかをあなたに伝えるためにあなたが使うことができると信じています(そうでなければあなた自身を転がしてください) 。

難しい方法でやりたい場合は、のいずれかを確認するかimportlib、を置き換えて__import__ください。.pyこれらの2つの方法のいずれかを使用して、ファイルを開き、

from __future__ import absolute_import

行(まだそこにない場合)、そして実際のインポートを行います。ただし、相対的なインポートセマンティクスを期待するモジュールからエラーが発生することは間違いないため、自分以外のモジュールにその行を追加しないように注意してください。

于 2012-10-05T17:28:48.090 に答える